Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English


Research area

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 (an open source Modelica platform, maintained by the company Modelon AB).

I am a member of the Software Development and Environments research group.

Ongoing projects

  • ELLIIT, Scalable Language Tools for Cyber-Physical Systems
  • WASP, Interaction and Communication with Autonomous Agents in Sensor-Rich Environments
  • Bloqqi - an Open Modular Automation Language, PiiA, VINNOVA
  • 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)
    • ManLang (pc member 2017, 2018)
    • 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 (
    • The PalCom middleware for pervasive computing (
    • The AppLab language laboratory (discontinued)
    • The Mjolner/Orm software development environment (discontinued)

    PhD students

    (M - main advisor, C - coadvisor)


    • Jesper Öqvist. (M)
    • Alfred Åkesson. (M)
    • Mattias Nordahl. (C)
    • Noric Couderc. (C)


    • 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-Specific Languages. (M)

    My PhD thesis