Modularity 2016
Mon 14 - Thu 17 March 2016 Spain
Wed 16 Mar 2016 14:30 - 15:00 at MODULARITY - Modularity Mechanisms Chair(s): Peter D. Mosses

Class nesting and parameterization are well-established concepts in object-oriented programming languages. Class nesting is typically used to group classes that logically belong to the same category. Class parameterization is used to add variation points to classes. 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, allows for shorter local names, provides functionality for dependency management, and makes it possible to use multiple versions of a module at the same time. 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.

Wed 16 Mar

Displayed time zone: Belfast change

14:00 - 15:00
Modularity MechanismsModularity Visions at MODULARITY
Chair(s): Peter D. Mosses Swansea University
14:00
30m
Talk
Modular Architecture for Code and Metadata Sharing
Modularity Visions
Tomas Tauber , Bruno C. d. S. Oliveira University of Hong Kong
DOI
14:30
30m
Talk
Matriona: Class Nesting with Parameterization in Squeak/Smalltalk
Modularity Visions
Matthias Springer Tokyo Institute of Technology, Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Robert Hirschfeld HPI, Hidehiko Masuhara Tokyo Institute of Technology
DOI