Abstract
The standard approach to code reuse in object oriented languages is via inheritance. This is restrictive in a number of ways. For example, it leads to well known conflicts between subtyping and subclassing. Furthermore, where no type relationship exists, programmers must resort to inefficient techniques such as delegation to achieve code reuse. In the paper it is described how the language Timor decouples subtyping and code reuse and presents a new concept known as reuse variables, showing how these can be used to eliminate such restrictions in object oriented and component oriented contexts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bruce, K.B., Cardelli, L., Castagna, G.: The Hopkins Object Group. In: Leavens, G.T., Pierce, B. (eds.) On Binary Methods.Theory and Practice of Object Systems, vol. 1(3), pp. 221–242 (1995)
Chambers, C.: The Cecil Language: Specification & Rationale, Version 2.1 (1997), see, http://www.cs.washington.edu/research/projects/cecil/www/pubs/index.htm
Cook, W., Hill, W., Canning, P.: Inheritance is Not Subtyping. In: 17th ACM Symposium on Principles of Programming Languages, pp. 125–135 (1990)
Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Keedy, J.L., Menger, G., Heinlein, C.: Support for Subtyping and Code Re-use in Timor. In: 40th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS Pacific 2002), Sydney, Australia. Conferences in Research and Practice in Information Technology, vol. 10, pp. 35–43 (2002)
Keedy, J.L., Menger, G., Heinlein, C.: Inheriting from a Common Abstract Ancestor in Timor. Journal of Object Technology (www.jot.fm) 1(1), 81–106 (2002)
Keedy, J.L., Menger, G., Heinlein, C.: Inheriting Multiple and Repeated Parts in Timor. Journal of Object Technology (www.jot.fm)Â 3(6) (2004), http://www.jot.fm (to appear)
Liskov, B., Curtis, D., Day, M., Ghemawat, S., Gruber, R., Johnson, P., Myers, A.C.: Theta Reference Manual, MIT Laboratory for Computer Science, Cambridge, MA, Programming Methodology Group Memo 88 (February 1994)
Liskov, B., Wing, J.M.: A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems 16(6), 1811–1841 (1994)
Parnas, D.L.: On the Criteria To Be Used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)
Schmolitzky: Ein Modell zur Trennung von Vererbung und Typabstraktion in objektorientierten Sprachen (A Model for Separating Inheritance and Type Abstraction in Object Oriented Languages), Ph.D. Thesis, Dept. of Computer Structures: University of Ulm, Germany (1999)
Ungar, D., Smith, R.B.: Self: The Power of Simplicity. In: OOPSLA 1987, Orlando, Florida. ACM SIGPLAN Notices, vol. 22, pp. 227–241 (1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Keedy, J.L., Heinlein, C., Menger, G. (2004). Reuse Variables: Reusing Code and State in Timor. In: Bosch, J., Krueger, C. (eds) Software Reuse: Methods, Techniques, and Tools. ICSR 2004. Lecture Notes in Computer Science, vol 3107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27799-6_17
Download citation
DOI: https://doi.org/10.1007/978-3-540-27799-6_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22335-1
Online ISBN: 978-3-540-27799-6
eBook Packages: Springer Book Archive