My research interests include object-oriented languages, object-oriented design, domain-specific languages, generative language implementation techniques, integrated software development environments, pervasive systems, and agile methodology.
I have developed Reference Attribute Grammars which extend attribute grammars with reference attributes, making it possible to easily define graph properties on syntax trees, for example, name bindings, inheritance graphs, control-flow, etc. This technique is embodied in the JastAdd system, which supports high-level extensible implementation of compilers and related tools. The technique has been used for developing production compilers like ExtendJ (the JastAdd extensible Java compiler), and JModelica.org (an open source Modelica platform, maintained by the company Modelon AB).
I am a member of the Software Development and Environments research group.
Conference and journal involvement
- OOPSLA (pc member 2015, 2009, 2008)
- ECOOP (pc member 2017, 2010, 2009, 2008, 2007, 2002, 2001, 1999)
- CC (program chair 2003, pc member 2008, 2004, 2000)
- ETAPS (steering committee member, 2002-2004)
- SLE (steering committee member, 2008-present; program co-chair 2012, pc member 2016, 2014, 2013, 2011, 2010)
- PPPJ (pc member 2016)
- SOFSEM (pc member of the Software Engineering track, 2016)
- LDTA (steering committee member 2006-2012, program co-chair 2005, 2004, pc member 2012, 2008, 2001)
- PC member of GCSE 2001, GPCE 2011
- External Review Committee (ERC) for PLDI 2012.
- JOT (Journal of Object Technology) (member of the editorial board)
- SCP (Science of Computer Programming, Elsevier) (Member of Advisory board, software section. Guest editor for three special issues - selected papers from SLE 2012, LDTA 2004, 2005.)
Major Software Systems
- The JastAdd metacompilation system (jastadd.org)
- The PalCom middleware for pervasive computing (http://palcom.cs.lth.se)
- The AppLab language laboratory (discontinued)
- The Mjolner/Orm software development environment (discontinued)
(M - main advisor, C - coadvisor)
- Niklas Fors. (M)
- Jesper Öqvist. (M)
- Alfred Åkesson. (M)
- Linus Åkesson. (C)
- Björn A. Johnsson. (C)
- Amr Ergawy. (C)
- Mattias Nordahl. (C)
- Björn A. Johnsson. Lic 2014: PalCom Meets the End-User: Enabling Interaction with PalCom-based Systems. (C)
- Peter Exner. Lic 2014: Large Scale Natural Language Processing - Applications and Frameworks.(C)
- Emma Söderberg, PhD 2013: Contributions to the Construction of Extensible Semantic Editors. Lic 2010: Contributions to the generation of semantic editors. (M)
- David Svensson Fors, PhD 2009: Assemblies of Pervasive Services. (C)
- Eva Magnusson, PhD 2007: Object-Oriented Declarative Program Analysis, Lic 2003: Applications and Extensions of Reference Attributed Grammars (M)
- Johan Åkesson, PhD 2007: Languages and Tools for Optimization of Large-Scale Systems (C)
- Torbjörn Ekman, PhD 2006: Extensible Compiler Construction, Lic 2004: Rewritable Reference Attributed Grammars - design, implementation, and applications. (M)
- Anders Nilsson, PhD 2006: Tailoring native compilation of Java for real-time systems, Lic 2004: Compiling Java for Real-Time Systems. (C)
- Patrik Persson, Lic 2000: Predicting Time and Memory Demands of Object-Oriented Programs. (M)
- Elizabeth Bjarnason, Lic 1997: Interactive Tool Support for Domain-Speciﬁc Languages. (M)
My PhD thesis
- Görel Hedin, PhD 1992: Incremental Semantic Analysis.