Skip to main content

An Interface Model of Software Components

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8049))

Abstract

We present an automata-based model for describing the behaviors of software components. This extends our previous work by allowing internal behaviors. In order to improve the techniques for checking if two component can be composed without causing deadlocks, we develop an interface model, called input deterministic automata, that define all the non-blockable traces of invocation to services provided by a component. We also present an algorithm that, for any given component automaton, generates the interface model that has the same input deterministic behaviors as the original automaton. Properties of the algorithm with respect to component refinement and composition are studied as preliminary results towards a theory of software component interfaces.

Part of the work of the second author was done during his visit to UNU-IIST in February 2013 and he wishes to thank the support from project PEARL funded by Macau Science and Technology Development Fund, and the work of the third author was mainly done when he was working at UNU-IIST as a postdoctoral research fellow supported by PEARL.

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

Buying options

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 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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 

  2. Arbab, F.: Reo: a channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 329–366 (2004), http://portal.acm.org/citation.cfm?id=992032.992035

    Article  MathSciNet  MATH  Google Scholar 

  3. Chen, X., Liu, Z., Mencl, V.: Separation of concerns and consistent integration in requirements modelling. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds.) SOFSEM 2007. Part I. LNCS, vol. 4362, pp. 819–831. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  4. Chen, Z., Liu, Z., Ravn, A.P., Stolz, V., Zhan, N.: Refinement and verification in component-based model-driven design. Science of Computer Programming 74(4), 168–196 (2009), http://www.sciencedirect.com/science/article/pii/S0167642308000890 , special Issue on the Grand Challenge

    Article  MathSciNet  MATH  Google Scholar 

  5. De Alfaro, L., Henzinger, T.: Interface automata. ACM SIGSOFT Software Engineering Notes 26(5), 109–120 (2001)

    Article  Google Scholar 

  6. De Alfaro, L., Henzinger, T.: Interface-based design. Engineering Theories of Software-intensive Systems 195, 83–104 (2005)

    Article  Google Scholar 

  7. Dong, R., Faber, J., Liu, Z., Srba, J., Zhan, N., Zhu, J.: Unblockable compositions of software components. In: Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE 2012, pp. 103–108. ACM, New York (2012), http://doi.acm.org/10.1145/2304736.2304754

    Chapter  Google Scholar 

  8. Emmi, M., Giannakopoulou, D., Păsăreanu, C.S.: Assume-guarantee verification for interface automata. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 116–131. Springer, Heidelberg (2008), http://dx.doi.org/10.1007/978-3-540-68237-0_10

    Chapter  Google Scholar 

  9. Giannakopoulou, D., Pasareanu, C.S., Barringer, H.: Assumption generation for software component verification. In: ASE, pp. 3–12. IEEE Computer Society (2002), http://doi.ieeecomputersociety.org/10.1109/ASE.2002.1114984

  10. Jifeng, H., Li, X., Liu, Z.: Component-based software engineering. In: Van Hung, D., Wirsing, M. (eds.) ICTAC 2005. LNCS, vol. 3722, pp. 70–95. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. He, J., Li, X., Liu, Z.: rcos: A refinement calculus of object systems. Theor. Comput. Sci. 365(1-2), 109–142 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  12. He, J., Li, X., Liu, Z.: A theory of reactive components. Electr. Notes Theor. Comput. Sci. 160, 173–195 (2006)

    Article  Google Scholar 

  13. Hoare, C.: Communicating sequential processes. Communications of the ACM 21(8), 666–677 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  14. Hopcroft, J., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation, vol. 2. Addison-Wesley (1979)

    Google Scholar 

  15. Larsen, K.G., Nyman, U., Wąsowski, A.: Interface input/output automata. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 82–97. Springer, Heidelberg (2006), http://dx.doi.org/10.1007/11813040_7

    Chapter  Google Scholar 

  16. Larsen, K.G., Nyman, U., Wąsowski, A.: Modal I/O automata for interface and product line theories. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 64–79. Springer, Heidelberg (2007), http://dx.doi.org/10.1007/978-3-540-71316-6_6

    Chapter  Google Scholar 

  17. Liu, Z., Morisset, C., Stolz, V.: rCOS: Theory and tool for component-based model driven development. In: Arbab, F., Sirjani, M. (eds.) FSEN 2009. LNCS, vol. 5961, pp. 62–80. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  18. Lynch, N.A., Tuttle, M.R.: Hierarchical correctness proofs for distributed algorithms. In: PODC, pp. 137–151 (1987)

    Google Scholar 

  19. Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Quarterly 2(3), 219–246 (1989)

    MathSciNet  MATH  Google Scholar 

  20. Lüttgen, G., Vogler, W.: Modal interface automata. In: Baeten, J.C.M., Ball, T., de Boer, F.S. (eds.) TCS 2012. LNCS, vol. 7604, pp. 265–279. Springer, Heidelberg (2012), , http://dx.doi.org/10.1007/978-3-642-33475-7_19

    Chapter  Google Scholar 

  21. Milner, R.: Communication and concurrency. Prentice Hall International (UK) Ltd., Hertfordshire (1995)

    Google Scholar 

  22. Raclet, J., Badouel, E., Benveniste, A., Caillaud, B., Legay, A., Passerone, R.: Modal interfaces: unifying interface automata and modal specifications. In: Proceedings of the Seventh ACM International Conference on Embedded software, pp. 87–96. ACM (2009)

    Google Scholar 

  23. Raclet, J.B., Badouel, E., Benveniste, A., Caillaud, B., Legay, A., Passerone, R.: A modal interface theory for component-based design. Fundam. Inf. 108(1-2), 119–149 (2011), http://dl.acm.org/citation.cfm?id=2362088.2362095

    MathSciNet  MATH  Google Scholar 

  24. Sifakis, J.: A framework for component-based construction. In: Third IEEE International Conference on Software Engineering and Formal Methods, SEFM 2005, pp. 293–299. IEEE (2005)

    Google Scholar 

  25. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dong, R., Zhan, N., Zhao, L. (2013). An Interface Model of Software Components. In: Liu, Z., Woodcock, J., Zhu, H. (eds) Theoretical Aspects of Computing – ICTAC 2013. ICTAC 2013. Lecture Notes in Computer Science, vol 8049. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39718-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39718-9_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39717-2

  • Online ISBN: 978-3-642-39718-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics