Multi-Level Language Engineering: A New Paradigm for Conceptual Modelling and Software Development


Model-driven software development is promising attractive benefits. Developers and prospective users can focus on conceptual models rather than on cryptic code, coding principles can be enforced by software generators, and model-driven software architectures allow for a great deal of independence from specific implementation level languages and platforms. In recent years, domain-specific languages have gained increasing attention. They promote the productivity of modelers and programmers, and contribute to system quality, too. Therefore, they are suited to strengthen further the idea of model-driven software development. However, model-driven software within the dominating object-oriented paradigm suffers from serious limitations. A new language  paradigm  that  enables  an  unlimited  number  of  classification  levels,  multi-level language engineering, promises to overcome these limitations. It does not only allow for more expressive  models,  but  it  also  promotes  reuse  and  maintainability  as  well  as  user- empowerment. Based on the analysis of problem with the current paradigm, the talk introduces a particular approach to multi-level software engineering that includes a versatile metamodel, various multi-level DSMLs and a language-engineering and execution engine. It allows for the common  representation  of  models  and  code.  As  a  consequence,  there  is  no  need  for synchronizing code and models.

Click to view keynote's slide