Version 1.2

: QtModeling: bringing metamodeling features into the KDE world

Event_large

In this talk, Sandro presents the motivation, design goals, and currently supported features of QtModeling - a Qt5 add-on module devoted to bring metamodeling and model-driven features into Qt and KDE applications. He discuss the roles that models and metamodels may play in supporting code generation, automatic detection of architectural erosion, and domain-specific modeling languages. At the end, potential benefits for applications such as QtCreator, Umbrello, and KDevelop are presented.

Models play a prominent role in a number of well-established engineering activities, for example, in mechanical, electrics, and avionics fields. Under this perspective, the use of software models is yet in its infancy in spite of the promising role that models may play in supporting code generation, automatic detection of architectural erosion, and domain-specific modeling languages, just to mention a few.

In this talk, Sandro presents the motivation, the architectural drivers, and currently supported features of QtModeling - a Qt5 add-on module that provides a number of metamodeling and model-driven capabilities to Qt and KDE applications. QtModeling provides the underpinnings required to leverage the programmatic use of MOF (Meta-Object Facility) and UML (Unified Modeling Language) constructs, as well as to support new user-defined modeling languages.

Current features include: serialization of models in XMI format; full access to metaclasses via scripting; basic QML-based concrete syntax (diagrams); and a metamodel-agnostic tool integrating such capabilities (DuSE-MT). At the end of the presentation, Sandro will discuss some potential benefits QtModeling may bring not only to applications such as QtCreator, Umbrello, and KDevelop, but also to commonly adopted KDE development workflows.