This is an old revision of the document!


Johan Fabry
Johan Fabry
@johanfabry on Twitter dcc.uchile.cl@jfabry (if you swap sides)
Assistant Professor Blanco Encalada 2120, of.311
PLEIAD Lab Santiago, Chile
Computer Science Department (DCC) phone: +56 2 978 49 75
University of Chile fax: +56 2 689 55 31

Short Research Description

I work in the field of programming languages and software engineering. More specifically in the area of advanced forms of modularization (usually aspects, but I also consider metaprogramming, generative programming, …). The overall focus of my work is guided by the following observation: In my experience, we as programming language researchers easily fall in the pit of making ever more powerful languages, with cool, powerful and complex features. This however comes at the cost that the programmer needs to be able to understand and apply these features correctly.

To restate this as the problem on which I focus: How can we, as programming language researchers, help the programmer to use these cool language features we create?

My first research work was applied in the domain of distributed systems, trying to achieve a better modularization of cross-cutting concerns. I focused not on middleware but either on client applications that use middleware, or settings where the services are not provided by the middleware. For the former, the example case is the use of advanced transaction management and aspects. For the latter, an example I investigated is support for network disconnection and disconnection in an ambient intelligence setting, using generative programming. The ultimate goals were domain-specific languages or language extensions that provided a relatively easy way for the programmer to specify the above.

Secondly, I worked on the design and implementation of Domain-Specific Aspect Languages (DSALs). As the first incarnation of AOP, they provided a straightforward way to deal with the complexity of cross-cutting concerns and hence such languages have always interested me. The goals here were to help the language/weaver developer in creating such languages. This included finding guidelines or methodologies for DSAL design and facilitating reuse of parts of DSAL specifications, amongst others. By using domain abstracions I believe that DSALs are an important solution strategy to tackle the problem of aspect composition and interaction, and can contribute positively to the discussion on the ever-controversial concept of obliviousness in AOSD.

Thirdly, I provided a visualisation for AOP programs: AspectMaps, which provides valuable information to the programmer about the cross-cutting nature of the AOP code.

Currently, I am starting to focus on the step from design to implementation: when implementing an application and using aspects, how can the design document give maximum guidance to the developer? This such that the programmer is not faced with significant ambiguities on how to implement the aspectual nature of the software, and that the design document uses as much the specific features of the aspect language as possible. As a result the programmer should not need to improvise, and external traceability can be maintained.

Moreover I am part of the effort of the DCC to set up a robotics lab, and am focusing on helping the robot developer to specify the overall behavior of the robot. This is done through a programming language that integrates with ROS to use existing sensor and actuator software, and provides the right abstractions for them, such that behavior can more easily be specified.

Teaching, Student resources

I teach the following courses

Here are some resources of use for students, useful even at undergraduate level!

  • If you need to make a presentation, have a look at my presentation tips
  • I also have some writing tips for when writing a paper, report, thesis …

Projects

I am currently involved in the following projects:

  • FONDECYT Project #1110051 - Modular and Adaptable Software without Losing Control. Co-investigator. (2011-2014)
  • FONDECYT Project #1130253 - Extending AOM with Advanced AOP and D&I Support. Investigator. (2013 - 2015)
  • PLOMO2: Customizable Tools and Infrastructure for Software Development and Maintenance, INRIA Associated Team with RMOD team of INRIA Lille. (2014-2016)

Recent Publications

Author page at DBLP, ACM, Google Scholar

Free ACM downloads

Thanks to the ACM Author-Izer service (an ugly name for sure) you can download the following articles for free from the ACM Digital Library. If the text between each article sais something like unauthorized link specified, go here http://pleiad.cl/people/jfabry and try again from there.

ACM DL Author-ize serviceCast insertion strategies for gradually-typed objects
Esteban Allende, Johan Fabry, Éric Tanter
DLS '13 Proceedings of the 9th symposium on Dynamic languages, 2013
ACM DL Author-ize serviceSpec: a framework for the specification and reuse of UIs and their models
Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry
IWST '12 Proceedings of the International Workshop on Smalltalk Technologies, 2012
ACM DL Author-ize servicePHANtom: an aspect language for pharo smalltalk
Johan Fabry
AOSD Companion '12 Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion, 2012
ACM DL Author-ize servicePHANtom: a modern aspect language for Pharo Smalltalk
Johan Fabry, Daniel Galdames
IWST '11 Proceedings of the International Workshop on Smalltalk Technologies, 2011
ACM DL Author-ize serviceApplication optimization when using gradual typing
Esteban Allende, Johan Fabry
ICOOOLPS '11 Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, 2011
ACM DL Author-ize serviceExpressive scoping of distributed aspects
Éric Tanter, Johan Fabry, Rémi Douence, Jacques Noyé, Mario Südholt
AOSD '09 Proceedings of the 8th ACM international conference on Aspect-oriented software development, 2009
ACM DL Author-ize serviceSummary of the third workshop on Domain-Specific Aspect Languages
Thomas Cleenewerck, Jacques Noyé, Johan Fabry, Anne-Françoise Lemeur, Éric Tanter
DSAL '08 Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages, 2008
ACM DL Author-ize serviceReLAx: implementing KALA over the reflex AOP kernel
Johan Fabry, Éric Tanter, Theo D'Hondt
DSAL '07 Proceedings of the 2nd workshop on Domain specific aspect languages, 2007
ACM DL Author-ize serviceKALA: Kernel Aspect language for advanced transactions
Johan Fabry, Theo D'Hondt
SAC '06 Proceedings of the 2006 ACM symposium on Applied computing, 2006

Full List

The following documents are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Loading bibtex info...