====== Prof. Dr. Johan Fabry ====== | {{people:jfabry.png?100|Johan Fabry}}| @johanfabry on Twitter | dcc.uchile.cl@jfabry (if you swap sides) | | ::: | Part-Time Professor | [[http://pleiad.dcc.uchile.cl/|PLEIAD]] lab | | ::: | [[http://www.dcc.uchile.cl/|Computer Science Department (DCC)]] | [[http://www.uchile.cl|University of Chile]] | ===== Affiliation ==== Since january 2024 I rejoined the Universidad de Chile, after a 7-year absence. I am now a part-time professor, this page has not been actively maintained since 2017. [[https://scholar.google.com/citations?user=Kw-9h4AAAAAJ&hl=en|My Google Scholar page]] is up to date with regards to publications. === Quick links: === ^ Author page | Publication list is below. | [[http://scholar.google.com/citations?user=Kw-9h4AAAAAJ&hl=en|Google Scholar]] | [[http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/f/Fabry:Johan.html|DBLP]] | [[http://dl.acm.org/author_page.cfm?id=81331491810|ACM]] | ^ Software | [[research:software:LRP|Live Robot Programming]] | [[research:software:AspectMaps]] | [[research:software:PHANtom]] | [[https://github.com/jfabry|GitHub ]] | ^ Curricula | [[http://www.dcc.uchile.cl/~jfabry/Brief%20CV%20Johan%20Fabry.pdf|Brief curriculum]] || [[http://www.dcc.uchile.cl/~jfabry/Full%20Academic%20CV%20Johan%20Fabry.pdf|Full Academic Curriculum]] | ===== Short Research Description ===== I work in the field of programming languages and software engineering. More specifically in the area of advanced forms of modularization and domain-specific languages. 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 correctly use these cool language features we create?** ++++ Past and Present Work | 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: [[/research/software/AspectMaps|AspectMaps]], which provides valuable information to the programmer about the cross-cutting nature of the AOP code. Fourthly, I have focused 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. I am a founding member of the [[http://rych.dcc.uchile.cl|DCC robotics lab]]. First I am focusing on helping the robot developer to specify the overall behavior of the robot. This is done through [[http://pleiad.cl/LRP|LRP]] a live programming language for robotics behavior programming. Second I am working on studying the [[http://www.ros.org|ROS]] software ecosystem, around the de-facto standard robotics middleware ROS, to find areas of low code quality and means to improve this code. ++++ ===== Teaching, Student resources ===== I teach the following courses * [[http://rych.dcc.uchile.cl|Taller de ingenieria de software pare Robots (CC5407) * [[https://wiki.dcc.uchile.cl/TallerMindstorms/doku.php|Taller de Proyecto (EI2001-x)]] * Not since 2013:[[teaching:CC71P|Objects and Aspects (CC71P)]] * Not since 2011: [[teaching:CC4301| Arquitectura de Computadores (CC4301)]] ex. Introducción al Hardware (CC41C) 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 [[people/jfabry/presentation tips]] * I also have some [[people/jfabry/writing tips]] for when writing a paper, report, thesis ... ===== Recent Publications ===== ==== 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 Publication Free Download List |
ACM DL Author-ize serviceA Taxonomy of Domain-Specific Aspect Languages
Johan Fabry, Tom Dinkelaker, Jacques Noyé, Éric Tanter
ACM Computing Surveys (CSUR), 2015
ACM DL Author-ize serviceConfined gradual typing
Esteban Allende, Johan Fabry, Ronald Garcia, Éric Tanter
OOPSLA '14 Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, 2014
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 serviceExpressing aspectual interactions in requirements engineering: experiences in the slot machine domain
Arturo Zambrano, Johan Fabry, Guillermo Jacobson, Silvia Gordillo
SAC '10 Proceedings of the 2010 ACM Symposium on Applied Computing, 2010
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 serviceContext distribution for supporting composition of applications in ubiquitous computing
Carlos Noguera, Ellen Van Paesschen, Carlos Parra, Johan Fabry
SAC '08 Proceedings of the 2008 ACM symposium on Applied computing, 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...