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 lead the Software Development and Environments research group.
Conference and journal involvement
- OOPSLA (pc member 2019, 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 2020, 2016, 2014, 2013, 2011, 2010)
- PPPJ/Manlang (pc member 2018, 2017, 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)
- Alfred Åkesson. Adaptive software architectures for autonomous systems. (M)
- Idriss Riouak. Explainable Declarative Programming Analysis. (M)
- Alfred Åkesson. Lic 2019: ComPOS - a development environment for composing internet-of-things services (M)
- Jesper Öqvist. PhD 2019: Contributions to Declarative Implementation of Static Program Analysis (M)
- Niklas Fors. PhD 2016: The Design and Implementation of Bloqqi - A Feature-Based Diagram Programming Language. (M)
- Linus Åkesson. Lic 2016: On the Design of Connector Languages for Latency-Critical Distributed Applications. (C)
- Amr Ergawy. PhD 2017: Networking Media Abstraction, Device Discovery, and Routing for the Pervasive Middleware PalCom. (C)
- Björn A. Johnsson. PhD 2017: Inverted GUI Development for IoT with Applications in E-Health. Lic 2014: PalCom Meets the End-User: Enabling Interaction with PalCom-based Systems. (C)
- Peter Exner. PhD 2016: Constructing Large Multilingual Proposition Databases. 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.