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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley, New York (1998)
The OSGi Alliance (2010), http://www.osgi.org
iPOJO - A flexible and extensible service component model (2010), http://felix.apache.org/site/apache-felix-ipojo.html
The Eclipse Project (2010), http://www.eclipse.org
Spring Dynamic Modules for OSGi(tm) Service Platforms (2010), http://www.springsource.org/osgi
Nestor, J., Newcomer, J., Gianinni, P., Stone, D.: IDL, The Language and its Implementation. Prentice Hall Software Series, Englewood Cliffs (1990)
Lamb, D.: IDL: sharing intermediate representations. ACM Trans. Program. Lang. Syst. 9(3), 297–318 (1987)
Gamma, E., Beck, K.: Contributing to Eclipse: Principles, Patterns, and Plugins. Addison Wesley Longman Publishing Co., Inc, Redwood City (2003)
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
Meyer, B.: Applying ”Design by Contract”. Computer 25(10), 40–51 (1992)
JUnit.org Resources for Test Driven Development (2010), http://www.junit.org
Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer 32(7), 38–45 (1999)
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/
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)
Henkel, J., Diwan, A.: Discovering algebraic specifications from java classes. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)
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)
Arnout, K., Meyer, B.: Uncovering Hidden Contracts: The.NET Example. Computer 36(11), 48–55 (2003)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)