Class extensions are frequently used in programming languages such as Ruby and Smalltalk to add or change methods of a class that is defined in the same application or in a diffe...
Matthias Springer, Hidehiko Masuhara, Robert Hirsc...
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...
Matthias Springer, Fabio Niephaus, Robert Hirschfe...
Although software product lines are widely used in practice, their maintenance is challenging. Features as units of behaviour can be heavily scattered across the source code of a ...
Bruno Barbieri Pontes Cafeo, Claus Hunsen, Alessan...
Commonly, during programming the code related to use cases becomes scattered across different modules and at the same time the code related to different use cases becomes tangled....
Object-constraint programming provides a design to integrate constraints with dynamic, object-oriented programming languages. It allows developers to encode multi-way constraints ...
Tim Felgentreff, Stefan Lehmann, Robert Hirschfeld...
Use cases are a practically proven choice to concisely and precisely express what highly interactive systems do. Several attempts have been made to modularize code according to us...
The PLanCompS project has developed a component-based approach to formal semantics. Here, we present the tools we have implemented to support component-based language definitions...
L. Thomas van Binsbergen, Neil Sculthorpe, Peter D...
Every fragment of code we write has dependencies and associated metadata. Code dependencies range from local references and standard library definitions to external third party l...
The architecture of interactive systems does not match the procedural decomposition mechanisms available in most programming languages, leading to architectural mismatch. Constrai...