Integrating Design by Contract Focusing Maximum Benefit
As mechanisms and tools that support the construction of bug-free software evolve, the complexity of software systems rises and the challenge to build dependable software, especially in the case of distributed systems, remains.
The remainder of the chapter is structured as follows. In the next section we compare related work and motivate our approach. In the third section we give a brief introduction to the programming language INSEL and the concepts of the distributed system MoDiS. The fourth section contains a short description of the DbC paradigm. In the fifth section we describe our integration of the contracts into the language INSEL and explain advantages and conclusions for other implementations. At the end we summarize the chapter and give a perspective on future work.
KeywordsRuntime System Abstract Syntax Tree Private Method Dynamic Link Library Runtime Check
Unable to display preview. Download preview PDF.
- 1.B. Meyer. Design by contract. In B. Meyer and M. D., editors, Advances in Object-Oriented Software Engineering. Prentice–Hall, Engewood Cliffs, NJ, 1992.Google Scholar
- 2.P. Spies, C. Eckert, M. Lange, D. Marek, R. Radermacher, F. Weimer, and H.-M. Windisch. Sprachkonzepte zur Konstruktion verteilter Systeme. Technical Report TUM-I9618, SFB 342/09/96 A, Technische Universitaet Muenchen, Germany, 1996.Google Scholar
- 4.R. Kramer. Icontract — The java design by contract tool. In Technology of Object-Oriented Languages, TOOLS 26, pages 295–307. IEEE Press, August 1998.Google Scholar
- 5.M. Karaorman, U. Holzle, and J. Bruno. jcontractor: A reflective Java library to support design by contract. Technical Report, Santa Barbara, CA, 1999.Google Scholar
- 6.A. Duncan and U. Hoelzle. Adding contracts to Java with handshake. Technical Report TRCS98-32, 9, 1998.Google Scholar
- 7.Design by Contract for Java Using JMSAssert. Man Machine Systems, 2000. http://www.mmsindia.com/DBCForJava.html.
- 8.M. Lackner, A. Krall, and F. Puntigam. Supporting design by contract in Java, 2002.Google Scholar
- 9.D. Bartetzko, C. Fischer, M. Moller, and H. Wehrheim. Jass - java with assertions. Electronic Notes in Theoretical Computer Science, 55(15):1–15, January 2004.Google Scholar
- 10.R. Ploesch and J. Pichler. Contracts: From analysis to C++ implementation. In TOOLS ’99: Proceedings of the Technology of Object-Oriented Languages and Systems, page 248, Washington, DC, 1999. IEEE Computer Society.Google Scholar
- 11.M. Carrillo-Castellon, J. Garcia-Molina, E. Pimentel, and I. Repiso. Design by contract in Smalltalk. Journal of Object-Oriented Programming, 9(7):23–28, November/December 1996.Google Scholar
- 13.C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10), 1969.Google Scholar
- 14.J. Wang, L. Qin, N. Vemuri, and X. Jia. A Toolset for Design By Contract For Java. http://se.cs.depaul.edu/ise/zoom/papers/other/DBC.pdf.
- 15.M. Pizka. Design and implementation of the gnu insel compiler (gic). Technical Report TUM–I9713, SFB–Bericht 342/09/97 A, Technische Universitaet Muenchen, Germany, October 1997.Google Scholar
- 16.GNU Compiler Collection. http://gcc.gnu.org/.
- 19.B. Meyer. Building bug-free OO software: An introduction to design by contract. Object Currents, SIGS Publication, 1(3), 1996.Google Scholar
- 21.A. Mayer. Integration von design by contract in das sprachbasierte, verteilte system modis. Master’s thesis, Technische Universität München, August 2006. German only.Google Scholar