Previous article

next article

Flexible Method Combination based on Mixin Subtyping

Tetsuo Kamina, JST CREST, Japan
Tetsuo Tamai, The University of Tokyo, Japan


PDF Version


A mixin is a reusable module that provides uniform extensions and modifications to classes. It is an abstract subclass that is composable with a variety of superclasses. In mixin-based composition, however, the problem of accidental overriding arises. A method declared in a mixin may accidentally override its superclass’s method. To tackle this problem, we propose a selective method combination that selects where the method invocation starts, and where method body execution jumps in the case of super invocation, by using the static type information of the receiver. We use the flexible mixin-based subtyping rules that allow subtype relations to be not restricted to the immediate inheritance relations; therefore, flexible control of method combination is achieved. To describe precisely how selective method combination works, we formalize this mechanism over McJava, an extension of Java with mixin-types. We also implement this mechanism by source code translation to Java thus making it runnable on a standard Java virtual machine.

Note: Due to the typographical sophistication of this article, no HTML version is available. Please use the PDF version.


About the authors


Tetsuo Kamina received his B.A. in International Christian University, M.A. and Ph.D. in the University of Tokyo. He became a JST CREST researcher of Center for Tsukuba Advanced Research Alliance (TARA), University of Tsukuba in 2005 and has been in that position. His current research includes object-oriented language design and implementation, software engineering, and signal processing especially for still image processing. He can be reached at


Tetsuo Tamai received the B.S., M.S. and Dr.S. degrees in mathematical engineering from the University of Tokyo.

He joined Mitsubishi Research Institute, Inc. in April 1972 and had been the manager of Artificial Intelligence Technologies Section from October 1985 to March 1989. He became an Associate Professor of Graduate School of Systems Management, the University of Tsukuba in 1989. He became then a Professor of Graduate School of Arts and Sciences, the University of Tokyo in 1994 and has been in that position ever since. His current research includes high reliability component-based software engineering, collaboration and role modeling, formal analysis of software architectures and software evolution process.

He has been contributing to the activities of Japan Society for Software Science and Technology for a long time as a board member and as the Editor-in-Chief of its journal ”Computer Software.” He served as the Program Chair of JSSST 20th anniversary conference in September 2003. He is also on the editorial board of ”Information and Software Technology”, published by Elsevier Science. He is currently a member of the executive committee of ACM SIGSOFT as an International Liaison. He was also a past chair of Special Interest Group on Software Engineering, Information Processing Society of Japan and a past chair of the Software Engineers Association, Japan.

He has been sharing responsibilities of a number of international academic conferences, including PC of ICSE’s, RE’s, ESEC/FSE’s, ICSM’s and many others and Steering Committee of APSEC and IWPSE.

Cite this article as follows: Tetsuo Kamina and Tetsuo Tamai: “Flexible Method Combination based on Mixin Subtyping”, in Journal of Object Technology, vol. 4, no. 10, Special Issue: OOPS Track at SAC 2005, Santa Fe USA, December 2005, pp. 95-115

Previous article

next article