Conferences

I have attended the following conferences and co-located workshops:

Workshops

I have attended the following workshops:

Community Service

I have been  on the Program Committee for the following conferences/workshops:

Teaching

I have been a Course Lecturer for the following courses at McGill University:

I have been a Teaching Assistant for the following courses at McGill University:

Awards

I have received the following awards during my studies (M.Sc. and Ph.D.):

  • Baden-Württemberg Stipendium (2012)
  • Differential Fee Waiver Award (2013)
  • McGill School of Computer Science Graduate Excellence Award (2013)
  • McGill School of Computer Science Graduate Excellence Award (2015)

Latest Publications

  • Matthias Schöttle and Jörg Kienzle. On the Difficulties of Raising the Level of Abstraction and Facilitating Reuse in Software Modelling: The Case for Signature Extension. In Proceedings of the 11th international workshop on modelling in software engineering, MiSE@ICSE 2019, page 1–7, 2019. (to appear)
    [BibTeX] [Abstract] [Download PDF]

    Reuse is central to improving the software development process, increasing software quality and decreasing time-to-market. Hence it is of paramount importance that modelling languages provide features that enable the specification and modularization of reusable artefacts, as well as their subsequent reuse. In this paper we outline several difficulties caused by the finality of method signatures that make it hard to specify and use reusable artefacts encapsulating several variants. The difficulties are illustrated with a running example. To evaluate whether these difficulties can be observed at the programming level, we report on an empirical study conducted on the Java Platform API as well as present workarounds used in various programming languages to deal with the rigid nature of signatures. Finally, we outline signature extension as an approach to overcome these problems at the modelling level.

    @InProceedings{MiSE/Schoettle2019,
    author = {Matthias Sch{\"{o}}ttle and J{\"{o}}rg Kienzle},
    title = {{On the Difficulties of Raising the Level of Abstraction and Facilitating Reuse in Software Modelling: The Case for Signature Extension}},
    booktitle = {Proceedings of the 11th International Workshop on Modelling in Software Engineering},
    year = {2019},
    series = {MiSE@ICSE 2019},
    pages = {1--7},
    note = {(to appear)},
    abstract = {Reuse is central to improving the software development process, increasing software quality and decreasing time-to-market. Hence it is of paramount importance that modelling languages provide features that enable the specification and modularization of reusable artefacts, as well as their subsequent reuse. In this paper we outline several difficulties caused by the finality of method signatures that make it hard to specify and use reusable artefacts encapsulating several variants. The difficulties are illustrated with a running example. To evaluate whether these difficulties can be observed at the programming level, we report on an empirical study conducted on the Java Platform API as well as present workarounds used in various programming languages to deal with the rigid nature of signatures. Finally, we outline signature extension as an approach to overcome these problems at the modelling level.}
    }
  • Benoit Combemale, Jörg Kienzle, Gunter Mussbacher, Olivier Barais, Erwan Bousse, Walter Cazzola, Philippe Collet, Thomas Degueule, Robert Heinrich, Jean-Marc Jézéquel, Manuel Leduc, Tanja Mayerhofer, Sébastien Mosser, Matthias Schöttle, Misha Strittmatter, and Andreas Wortmann. Concern-Oriented Language Development (COLD): Fostering Reuse in Language Engineering. Computer Languages, Systems & Structures, 2018.
    [BibTeX] [Abstract] [DOI] [Download PDF]

    Domain-Specific Languages (DSLs) bridge the gap between the problem space, in which stakeholders work, and the solution space, i.e., the concrete artifacts defining the target system. They are usually small and intuitive languages whose concepts and expressiveness fit a particular domain. DSLs recently found their application in an increasingly broad range of domains, e.g., cyber-physical systems, computational sciences and high-performance computing. Despite recent advances, the development of DSLs is error-prone and requires substantial engineering efforts. Techniques to reuse from one DSL to another and to support customization to meet new requirements are thus particularly welcomed. Over the last decade, the Software Language Engineering (SLE) community has proposed various reuse techniques. However, all these techniques remain disparate and complicate the development of real-world DSLs involving different reuse scenarios. In this paper, we introduce the Concern-Oriented Language Development (COLD) approach, a new language development model that promotes modularity and reusability of language concerns. A language concern is a reusable piece of language that consists of usual language artifacts (e.g., abstract syntax, concrete syntax, semantics) and exhibits three specific interfaces that support (1) variability management, (2) customization to a specific context, and (3) proper usage of the reused artifact. The approach is supported by a conceptual model which introduces the required concepts to implement COLD. We also present concrete examples of some language concerns and the current state of their realization with metamodel-based and grammar-based language workbenches. We expect this work to provide insights into how to foster reuse in language specification and implementation, and how to support it in language workbenches.

    @Article{COMLAN/Combemale2018,
    author = {Benoit Combemale and Jörg Kienzle and Gunter Mussbacher and Olivier Barais and Erwan Bousse and Walter Cazzola and Philippe Collet and Thomas Degueule and Robert Heinrich and Jean-Marc Jézéquel and Manuel Leduc and Tanja Mayerhofer and Sébastien Mosser and Matthias Schöttle and Misha Strittmatter and Andreas Wortmann},
    title = {{Concern-Oriented Language Development (COLD): Fostering Reuse in Language Engineering}},
    journal = {{Computer Languages, Systems \& Structures}},
    year = {2018},
    abstract = {Domain-Specific Languages (DSLs) bridge the gap between the problem space, in which stakeholders work, and the solution space, i.e., the concrete artifacts defining the target system. They are usually small and intuitive languages whose concepts and expressiveness fit a particular domain. DSLs recently found their application in an increasingly broad range of domains, e.g., cyber-physical systems, computational sciences and high-performance computing. Despite recent advances, the development of DSLs is error-prone and requires substantial engineering efforts. Techniques to reuse from one DSL to another and to support customization to meet new requirements are thus particularly welcomed. Over the last decade, the Software Language Engineering (SLE) community has proposed various reuse techniques.
    However, all these techniques remain disparate and complicate the development of real-world DSLs involving different reuse scenarios.
    In this paper, we introduce the Concern-Oriented Language Development (COLD) approach, a new language development model that promotes modularity and reusability of language concerns. A language concern is a reusable piece of language that consists of usual language artifacts (e.g., abstract syntax, concrete syntax, semantics) and exhibits three specific interfaces that support (1) variability management, (2) customization to a specific context, and (3) proper usage of the reused artifact. The approach is supported by a conceptual model which introduces the required concepts to implement COLD. We also present concrete examples of some language concerns and the current state of their realization with metamodel-based and grammar-based language workbenches. We expect this work to provide insights into how to foster reuse in language specification and implementation, and how to support it in language workbenches.},
    doi = {10.1016/j.cl.2018.05.004},
    issn = {1477-8424},
    keywords = {domain-specific languages},
    url = {https://www.sciencedirect.com/science/article/pii/S1477842418300496}
    }
  • Céline Bensoussan, Matthias Schöttle, and Jörg Kienzle. Associations in MDE: A Concern-Oriented, Reusable Solution. In Modelling foundations and applications – 12th european conference, ECMFA 2016, held as part of STAF 2016, vienna, austria, july 6-7, 2016, proceedings, page 121–137. Springer International Publishing, 2016.
    [BibTeX] [Abstract] [DOI] [Download PDF]

    Associations play an important role in model-driven software development. This paper describes a framework that uses Concern-Oriented Reuse (CORE) to capture many different kinds of associations, their properties, behaviour, and various implementation solutions within a reusable artifact: the Association concern. The concern exploits aspect-oriented modelling techniques to modularize the structure and behaviour required for enforcing uniqueness, multiplicity constraints and referential integrity for bidirectional associations. Furthermore, it packages different collection implementation classes that can be used to realize associations. For each implementation class, the impact of its use on non-functional qualities, e.g., memory consumption and performance, has been determined experimentally and formalized. We show how the class diagram notation, i.e., its metamodel and visual representation, can be extended to support reusing the Association concern, and present enhancements to automate feature selection and customization mappings to maximally streamline the reuse process in modelling tools.

    @InProceedings{ECMFA/Bensoussan2016,
    author = {C{\'{e}}line Bensoussan and Matthias Sch{\"{o}}ttle and J{\"{o}}rg Kienzle},
    title = {{Associations in MDE: A Concern-Oriented, Reusable Solution}},
    booktitle = {Modelling Foundations and Applications - 12th European Conference, {ECMFA} 2016, Held as Part of {STAF} 2016, Vienna, Austria, July 6-7, 2016, Proceedings},
    year = {2016},
    pages = {121--137},
    publisher = {Springer International Publishing},
    abstract = {Associations play an important role in model-driven software development. This paper describes a framework that uses Concern-Oriented Reuse (CORE) to capture many different kinds of associations, their properties, behaviour, and various implementation solutions within a reusable artifact: the Association concern. The concern exploits aspect-oriented modelling techniques to modularize the structure and behaviour required for enforcing uniqueness, multiplicity constraints and referential integrity for bidirectional associations. Furthermore, it packages different collection implementation classes that can be used to realize associations. For each implementation class, the impact of its use on non-functional qualities, e.g., memory consumption and performance, has been determined experimentally and formalized. We show how the class diagram notation, i.e., its metamodel and visual representation, can be extended to support reusing the Association concern, and present enhancements to automate feature selection and customization mappings to maximally streamline the reuse process in modelling tools.},
    doi = {10.1007/978-3-319-42061-5_8}
    }

[View All Publications]