| Handling the subclassing anomaly with Object Teams |
| Full text |
Pdf
(850 KB)
|
| Source
|
ACM SIGPLAN Notices
archive
Volume 40 , Issue 8 (August 2005)
table of contents
SESSION: Technical correspondence
table of contents
Pages: 12 - 18
Year of Publication: 2005
ISSN:0362-1340
|
|
Authors
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 0, Downloads (12 Months): 10, Citation Count: 0
|
|
|
ABSTRACT
Existing Java software or libraries can evolve via subclassing. Unfortunately, subclassing may not properly support code adaptation when there are dependencies between classes. More precisely, subclassing in collections of related classes may require reimplementation of otherwise valid classes. This problem is defined as the subclassing anomaly, which is an issue when software evolution or code reuse is a goal of the programmer who is using existing classes. Object Teams offers an implicit fix to this problem and is largely compatible with the existing JVM's. In this paper, we evaluate how well Object Teams succeeds in providing a solution for a complex, real world project. Our results indicate that while Object Teams is a suitable solution for simple examples, it does not meet the requirements for large scale projects. The reasons why Object Teams fails in certain usages may prove useful to those who create linguistic modifications in languages or those who seek new methods for code adaptation.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Curtis Clifton , Gary T. Leavens , Craig Chambers , Todd Millstein, MultiJava: modular open classes and symmetric multiple dispatch for Java, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.130-145, October 2000, Minneapolis, Minnesota, United States
|
| |
2
|
Herrmann, S., 2004. Confinement and Representation Encapsulation in Object Teams. Technical Report June 2004, Technical University Berlin. Available from <http://www.objectteams.org/publications/TR2004-06.pdf>.
|
| |
3
|
Jikes Homepage. <http://www-124.ibm.com/developerworks/oss/jikes/>.
|
| |
4
|
Joy, B., et al. 2000. Java Language Specification, Addison-Wesley Pub Co, New York, New York.
|
| |
5
|
Laffra, C., 2003. Java Bytecode Manipulation with JikesBT.
|
 |
6
|
Nathaniel Nystrom , Stephen Chong , Andrew C. Myers, Scalable extensibility via nested inheritance, Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 24-28, 2004, Vancouver, BC, Canada
|
| |
7
|
Object Teams Language Definition. <http://www.objectteams.org/def/index.html>.
|
| |
8
|
Palsberg J., and Jay, C. B., 1997. The essence of the visitor pattern. Technical Report 05, University of Technology, Sydney, Australia.
|
| |
9
|
|
| |
10
|
Radenski, A., 2003. The Subclassing Anomaly in Compiler Evolution. International Journal on Information Theories and Applications, Institute of Information Theories and Applications, Sofia, Vol. 10, No 4, 2003, 394--399.
|
| |
11
|
Tatsubori, M., 1999. An Extension Mechanism for the Java Language. Master's dissertation, University of Tsukuba, Tsukuba City, Japan. Available from <http://www.csg.is.titech.ac.jp/openjava/papers/mich_thesis99.pdf>.
|
| |
12
|
Watt, D. and Brown, D., 2000. Programming Language Processors in Java: Compilers and Interpreters, Prentice Hall, New York, New York.
|
| |
13
|
Zenger, M., 2002. Evolving software with extensible modules. In: International Workshop on Unanticipated Software Evolution, Málaga, Spain. Available from <http://zenger.gmxhome.de/papers/use02.pdf>.
|
|