Marco Brambilla has released the slides of his tutorial on IFML (Interaction Flow Modeling Language) presented at the ICWE’14 conference. For sure, a presentation to add to my list of useful presentations on Model-Driven Engineering (DSLs, UML, Eclipse Modeling technologies,…)
Enjoy his tutorial! (and if you prefer something faster, you could also take a look at this quick IFML reference card)
Summary of what you´ll find there (in Marco’s own words):
This tutorial focuses on the Domain-specific Language (DSL) called IFML, which has been adopted as a standard by OMG in March 2013. The Interaction Flow Modeling Language (IFML) is designed for expressing content, user interaction and control behaviour of the front-end of software applications, as well as the binding to the persistence and business logic layers. IFML is the missing piece for modeling the front end of software applications and perfectly complements other modeling dimensions in broad system modeling projects. Therefore, IFML works best when integrated with other modeling languages in the MDA suite, such as UML and BPMN. This tutorial illustrates the basic concepts of IFML, presents the design best practices and integration with other modelling languages, and discusses some industrial experiences (also featuring quantitative measures of productivity) achieved by the companion tool WebRatio. At the end of the tutorial, attendees will get a general knowledge about IFML (they will be able to design simple models and to derive models from existing interfaces), will be able to associate front-end design with system modelling at large, will see the associated MDE tool WebRatio at work, and will get a glimpse of real-life industrial applications developed for large enterprises. This will let them appreciate the advantages of a model-driven development approach at work within large-scale industrial project.
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering