Matriona: Class Nesting with Parameterization in Squeak/Smalltalk

被引:2
作者
Springer, Matthias [1 ,2 ]
Niephaus, Fabio [1 ]
Hirschfeld, Robert [1 ,3 ]
Masuhara, Hidehiko [2 ]
机构
[1] Univ Potsdam, Hasso Plattner Inst, Potsdam, Germany
[2] Tokyo Inst Technol, Dept Math & Comp Sci, Tokyo, Japan
[3] CDG, SAP Labs, Glendale, CA 91201 USA
来源
PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON MODULARITY (MODULARITY'16) | 2016年
关键词
Class nesting; class parameterization; mixin modularity; class hierarchy inheritance; !text type='JAVA']JAVA[!/text;
D O I
10.1145/2889443.2889457
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present Matriona, a module system for Squeak, a Smalltalk dialect. It supports class nesting and parameterization and is based on a hierarchical name lookup mechanism. Matriona solves a range of modularity issues in Squeak. Instead of a flat class organization, it provides a hierarchical namespace, that avoids name clashes and allows for shorter local names. Furthermore, it provides a way to share behavior among classes and modules using mixins and class hierarchy inheritance (a form of inheritance that subclasses an entire class family), respectively. Finally, it allows modules to be externally configurable, which is a form of dependency management decoupling a module from the actual implementation of its dependencies. Matriona is implemented on top of Squeak by introducing a new keyword for run-time name lookups through a reflective mechanism, without modifying the underlying virtual machine. We evaluate Matriona with a series of small applications and will demonstrate how its features can benefit modularity when porting a simple application written in plain Squeak to Matriona.
引用
收藏
页码:118 / 129
页数:12
相关论文
共 42 条
[1]   Adding type parameterization to the Java']Java(TM) language [J].
Agesen, O ;
Freund, SN ;
Mitchell, JC .
ACM SIGPLAN NOTICES, 1997, 32 (10) :49-65
[2]   A first-class approach to genericity [J].
Allen, E ;
Bannet, J ;
Cartwright, R .
ACM SIGPLAN NOTICES, 2003, 38 (11) :96-114
[3]  
Ancona D, 2000, LECT NOTES COMPUT SC, V1850, P154
[4]  
[Anonymous], THESIS
[5]  
[Anonymous], GENERATIVE COMPONENT
[6]  
[Anonymous], 1995, DESIGN PATTERNS ELEM
[7]  
[Anonymous], 1998, P 25 ACM SIGPLAN SIG, DOI [DOI 10.1145/268946.268961, 10.1145/268946.268961]
[8]  
Aracic I, 2006, LECT NOTES COMPUT SC, V3880, P135
[9]   A monotonic superclass linearization for Dylan [J].
Barrett, K ;
Cassels, B ;
Haahr, P ;
Moon, DA ;
Playford, K ;
Withington, PT .
ACM SIGPLAN NOTICES, 1996, 31 (10) :69-82
[10]  
Batory D, 2000, KLUWER INT SER ENG C, V576, P227