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

  • 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}
    }
  • Jörg Kienzle, Gunter Mussbacher, Omar Alam, Matthias Schöttle, Nicolas Belloir, Philippe Collet, Benoît Combemale, Julien DeAntoni, Jacques Klein, and Bernhard Rumpe. VCU: The Three Dimensions of Reuse. In Software Reuse: Bridging with Social-Awareness – 15th International Conference, ICSR 2016, Limassol, Cyprus, June 5-7, 2016, Proceedings, page 122–137. Springer International Publishing, 2016.
    [BibTeX] [Abstract] [DOI]

    Reuse, enabled by modularity and interfaces, is one of the most important concepts in software engineering. This is evidenced by an increasingly large number of reusable artifacts, ranging from small units such as classes to larger, more sophisticated units such as components, services, frameworks, software product lines, and concerns. This paper presents evidence that a canonical set of reuse interfaces has emerged over time: the variation, customization, and usage interfaces (VCU). A reusable artifact that provides all three interfaces reaches the highest potential of reuse, as it explicitly exposes how the artifact can be manipulated during the reuse process along these three dimensions. We demonstrate the wide applicability of the VCU interfaces along two axes: across abstraction layers of a system specification and across existing reuse techniques. The former is shown with the help of a comprehensive case study including reusable requirements, software, and hardware models for the authorization domain. The latter is shown with a discussion on how the VCU interfaces relate to existing reuse techniques.

    @InProceedings{ICSR/Kienzle2016,
    author = {J{\"{o}}rg Kienzle and Gunter Mussbacher and Omar Alam and Matthias Sch{\"{o}}ttle and Nicolas Belloir and Philippe Collet and Beno{\^{\i}}t Combemale and Julien DeAntoni and Jacques Klein and Bernhard Rumpe},
    title = {{VCU: The Three Dimensions of Reuse}},
    booktitle = {{Software Reuse: Bridging with Social-Awareness - 15th International Conference, {ICSR} 2016, Limassol, Cyprus, June 5-7, 2016, Proceedings}},
    year = {2016},
    pages = {122--137},
    publisher = {Springer International Publishing},
    abstract = {Reuse, enabled by modularity and interfaces, is one of the most important concepts in software engineering. This is evidenced by an increasingly large number of reusable artifacts, ranging from small units such as classes to larger, more sophisticated units such as components, services, frameworks, software product lines, and concerns. This paper presents evidence that a canonical set of reuse interfaces has emerged over time: the variation, customization, and usage interfaces (VCU). A reusable artifact that provides all three interfaces reaches the highest potential of reuse, as it explicitly exposes how the artifact can be manipulated during the reuse process along these three dimensions. We demonstrate the wide applicability of the VCU interfaces along two axes: across abstraction layers of a system specification and across existing reuse techniques. The former is shown with the help of a comprehensive case study including reusable requirements, software, and hardware models for the authorization domain. The latter is shown with a discussion on how the VCU interfaces relate to existing reuse techniques.},
    doi = {10.1007/978-3-319-35122-3_9}
    }

[View All Publications]