Skip to main content

Component Contracts in Eclipse - A Case Study

  • Conference paper

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

Abstract

We present the results of an experiment investigating component collaborations in the OSGi/Eclipse component model. The aim of the experiment is to demonstrate the benefits of using a formal contract language. For this purpose, we have associated more than 1000 component collaborations in OSGi/Eclipse with formal contracts extracted from component metadata and extension point documentation. We discuss several characteristics of these contracts, including contract complexity, and verification results obtained with these contracts. To our surprise, there are numerous contract violations. This indicates that the use of a formal contract language can significantly improve the quality of dynamically composed systems.

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. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley, New York (1998)

    Google Scholar 

  2. The OSGi Alliance (2010), http://www.osgi.org

  3. iPOJO - A flexible and extensible service component model (2010), http://felix.apache.org/site/apache-felix-ipojo.html

  4. The Eclipse Project (2010), http://www.eclipse.org

  5. Spring Dynamic Modules for OSGi(tm) Service Platforms (2010), http://www.springsource.org/osgi

  6. Nestor, J., Newcomer, J., Gianinni, P., Stone, D.: IDL, The Language and its Implementation. Prentice Hall Software Series, Englewood Cliffs (1990)

    Google Scholar 

  7. Lamb, D.: IDL: sharing intermediate representations. ACM Trans. Program. Lang. Syst. 9(3), 297–318 (1987)

    Article  Google Scholar 

  8. Gamma, E., Beck, K.: Contributing to Eclipse: Principles, Patterns, and Plugins. Addison Wesley Longman Publishing Co., Inc, Redwood City (2003)

    Google Scholar 

  9. Dietrich, J., Jenson, G.: Components, contracts and vocabularies - making dynamic component assemblies more predictable. Journal of Object Technology 8(7), 131–148 (2009), http://www.jot.fm/issues/issue_2009_11/article4/index.html

    Google Scholar 

  10. Meyer, B.: Applying ”Design by Contract”. Computer 25(10), 40–51 (1992)

    Article  Google Scholar 

  11. JUnit.org Resources for Test Driven Development (2010), http://www.junit.org

  12. Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer 32(7), 38–45 (1999)

    Article  Google Scholar 

  13. McGuinness, D.L., van Harmelen, F.: OWL Web Ontology Language Overview. Technical report (February 2004), http://www.w3.org/TR/2004/REC-owl-features-20040210/

  14. Dong, J., Alencar, P., Cowan, D.: On analysis of design component contracts: A case study. International Workshop on Software Technology and Engineering Practice 0, 103–113 (2003)

    Article  Google Scholar 

  15. Henkel, J., Diwan, A.: Discovering algebraic specifications from java classes. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)

    Google Scholar 

  16. Milanovic, N., Malek, M.: Extracting Functional and Nonfunctional Contracts from Java Classes and Enterprise Java Beans. In: Proceedings of the Workshop on Architecting Dependable Systems (WADS 2004) at the International Conference on Dependable Systems and Networks, DSN 2004 (2004)

    Google Scholar 

  17. Arnout, K., Meyer, B.: Uncovering Hidden Contracts: The.NET Example. Computer 36(11), 48–55 (2003)

    Article  Google Scholar 

  18. Arnout, K., Meyer, B.: Finding Implicit Contracts in.NET Components. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 285–318. Springer, Heidelberg (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dietrich, J., Stewart, L. (2010). Component Contracts in Eclipse - A Case Study. In: Grunske, L., Reussner, R., Plasil, F. (eds) Component-Based Software Engineering. CBSE 2010. Lecture Notes in Computer Science, vol 6092. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13238-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13238-4_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13237-7

  • Online ISBN: 978-3-642-13238-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics