Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Alexandre Bergel is active.

Publication


Featured researches published by Alexandre Bergel.


conference on object-oriented programming systems, languages, and applications | 2005

Classbox/J: controlling the scope of change in Java

Alexandre Bergel; Stéphane Ducasse; Oscar Nierstrasz

Unanticipated changes to complex software systems can introduce anomalies such as duplicated code, suboptimal inheritance relationships and a proliferation of run-time downcasts. Refactoring to eliminate these anomalies may not be an option, at least in certain stages of software evolution. Classboxes are modules that restrict the visibility of changes to selected clients only, thereby offering more freedom in the way unanticipated changes may be implemented, and thus reducing the need for convoluted design anomalies. In this paper we demonstrate how classboxes can be implemented in statically-typed languages like Java. We also present an extended case study of Swing, a Java GUI package built on top of AWT, and we document the ensuing anomalies that Swing introduces. We show how Classbox/J, a prototype implementation of classboxes for Java, is used to provide a cleaner implementation of Swing using local refinement rather than subclassing.


Computer Languages, Systems & Structures | 2005

Classboxes: controlling visibility of class extensions

Alexandre Bergel; Stéphane Ducasse; Oscar Nierstrasz; Roel Wuyts

A class extension is a method that is defined in a module, but whose class is defined elsewhere. Class extensions offer a convenient way to incrementally modify existing classes when subclassing is inappropriate. Unfortunately existing approaches suffer from various limitations. Either class extensions have a global impact, with possibly negative effects for unexpected clients, or they have a purely local impact, with negative results for collaborating clients. Furthermore, conflicting class extensions are either disallowed, or resolved by linearization, with consequent negative effects. To solve these problems we present classboxes, a module system for object-oriented languages that provides for method addition and replacement. Moreover, the changes made by a classbox are only visible to that classbox (or classboxes that import it), a feature we call local rebinding. To validate the model we have implemented it in the Squeak Smalltalk environment, and performed benchmarks.


Lecture Notes in Computer Science | 2005

On the revival of dynamic languages

Oscar Nierstrasz; Alexandre Bergel; Marcus Denker; Stéphane Ducasse; Markus Gälli; Roel Wuyts

The programming languages of today are stuck in a deep rut that has developed over the past 50 years. Although we are faced with new challenges posed by enormous advances in hardware and internet technology, we continue to struggle with old-fashioned languages based on rigid, static, closed-world file-based views of programming. We argue the need for a new class of dynamic languages that support a view of programming as constant evolution of living and open software models. Such languages would require features such as dynamic first-class namespaces, explicit meta-models, optional, pluggable type systems, and incremental compilation of running software systems.


Lecture Notes in Computer Science | 2003

Classboxes: A Minimal Module Model Supporting Local Rebinding

Alexandre Bergel; Stéphane Ducasse; Roel Wuyts

Classical module systems support well the modular development of applications but do not offer the ability to add or replace a method in a class that is not defined in that module. On the other hand, languages that support method addition and replacement do not provide a modular view of applications, and their changes have a global impact. The result is a gap between module systems for object-oriented languages on one hand, and the very desirable feature of method addition and replacement on the other hand. To solve these problems we present classboxes, a module system for object-oriented languages that provides method addition and replacement. Moreover, the changes made by a classbox are only visible to that classbox (or classboxes that import it), a feature we call local rebinding. To validate the model, we have implemented it in the Squeak Smalltalk environment, and performed experiments modularising code.


Journal of Universal Computer Science | 2005

Analyzing Module Diversity

Alexandre Bergel; Stéphane Ducasse; Oscar Nierstrasz

Each object-oriented programming language proposes various grouping mechanisms to bundle interacting classes (i.e., packages, modules, selector namespaces, etc). To understand this diversity and to compare the different approaches, a common foundation is needed. In this paper we present a simple module calculus consisting of a small set of operators over environments and modules. Using these operators, we are then able to specify a set of module combinators that capture the semantics of Java packages, C# namespaces, Ruby modules, selector namespaces, gbeta classes, classboxes, MZScheme units, and MixJuice modules. We develop a simple taxonomy of module systems, and show how particular combinations of module operators help us to draw sharp distinctions between classes of module systems that share similar characteristics.


FAMOOSr 2008 - 2nd Workshop on FAMIX and Moose in Reengineering | 2008

Assessing the Quality of your Software with MoQam

Jannik Laval; Alexandre Bergel; Stéphane Ducasse


NODe/GSEM | 2005

Supporting Unanticipated Changes with Traits and Classboxes.

Alexandre Bergel; Stéphane Ducasse


International Workshop on Smalltalk Technologies | 2013

Pragmatic Visualizations for Roassal: a Florilegium

Mathieu Dehouck; Muhammad Usman Bhatti; Alexandre Bergel; Stéphane Ducasse


LMO | 2009

Matrice de dépendances enrichie.

Jannik Laval; Alexandre Bergel; Stéphane Ducasse; Romain Piers


Twelfth Smalltalk Joint Event 2004 - Research Track | 2004

Prototalk: an Environment for Teaching, Understanding, Designing and Prototyping Object-Oriented Languages

Alexandre Bergel; Christophe Dony; Stéphane Ducasse

Collaboration


Dive into the Alexandre Bergel's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Johan Fabry

Laboratoire d'Informatique Fondamentale de Lille

View shared research outputs
Researchain Logo
Decentralizing Knowledge