COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
Interaction Flow Modeling Language - 1st Edition - ISBN: 9780128001080, 9780128005323

Interaction Flow Modeling Language

1st Edition

Model-Driven UI Engineering of Web and Mobile Apps with IFML

Authors: Marco Brambilla Piero Fraternali
Paperback ISBN: 9780128001080
eBook ISBN: 9780128005323
Imprint: Morgan Kaufmann
Published Date: 17th November 2014
Page Count: 422
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

Table of Contents

  • Foreword
  • Chapter 1. Introduction
    • 1.1. What IFML is About
    • 1.2. The IFML Design Principles
    • 1.3. How to Read this Book
    • 1.4. On-line Resources
    • 1.5. Background
    • 1.6. Acknowledgment
  • Chapter 2. IFML in a Nutshell
    • 2.1. Scope and Perspectives
    • 2.2. Overview of IFML Main Concepts
    • 2.3. Role of IFML in the Development Process
    • 2.4. A Complete Example
    • 2.5. Summary of the Chapter
    • 2.6. Bibliographic Notes
  • Chapter 3. Domain modeling
    • 3.1. Classes
    • 3.2. Attributes
    • 3.3. Identification and Primary Key
    • 3.4. Attribute Type and Visibility
    • 3.5. Operations
    • 3.6. Generalization Hierarchies
    • 3.7. Associations
    • 3.8. N-ary Associations and Associations with Attributes
    • 3.9. Derived Information and the Object Constraint Language (OCL)
    • 3.10. Domain modeling patterns and practices
    • 3.11. The Process of Domain Modeling
    • 3.12. Running Example
    • 3.13. Summary of the chapter
    • 3.14. Bibliographic Notes
  • Chapter 4. Modeling the composition of the user interface
    • 4.1. Interface Organization
    • 4.2. View Container Nesting
    • 4.3. View Container Navigation
    • 4.4. View Container Relevance and Visibility
    • 4.5. Windows
    • 4.6. Context and Viewpoint
    • 4.7. User Interaction Patterns
    • 4.8. Interface Organization Patterns and Practices
    • 4.9. Running Example
    • 4.10. Summary of the Chapter
    • 4.11. Bibliographic Notes
  • Chapter 5. Modeling interface content and navigation
    • 5.1. What ViewContainers Contain: ViewComponents
    • 5.2. Events and Navigation Flows with ViewComponents
    • 5.3. Content Dependencies: Data Binding
    • 5.4. Input-Output Dependencies: Parameter Binding
    • 5.5. Extending IFML with Specialized ViewComponents and Events
    • 5.6. Content and Navigation Patterns and Practices
    • 5.7. Data Entry Patterns
    • 5.8. Search Patterns
    • 5.9. Running Example
    • 5.10. Summary of the Chapter
    • 5.11. Bibliographic Notes
  • Chapter 6. Modeling business actions
    • 6.1. Actions
    • 6.2. Notification
    • 6.3. Business Action Patterns
    • 6.4. Running Example
    • 6.5. Summary of the Chapter
    • 6.6. Bibliographic Notes
  • Chapter 7. IFML extensions
    • 7.1. Desktop Extensions
    • 7.2. Web Extensions
    • 7.3. Mobile Extensions
    • 7.4. Multiscreen Extensions
    • 7.5. Summary of the Chapter
    • 7.6. Bibliographic Notes
  • Chapter 8. Modeling patterns
    • 8.1. Interface Organization
    • 8.2. Navigation and Orientation
    • 8.3. Content Publishing, Scrolling, and Previewing
    • 8.4. Data Entry
    • 8.5. Search
    • 8.6. Content Management
    • 8.7. Personalization, Identification, and Authorization
    • 8.8. Session Data
    • 8.9. Social Functions
    • 8.10. GEO patterns
    • 8.11. Summary of the Chapter
    • 8.12. Bibliographic Notes
  • Chapter 9. IFML by examples
    • 9.1. Media Sharing App
    • 9.2. Online Auctions
    • 9.3. Summary of the Chapter
  • Chapter 10. Implementation of applications specified with IFML
    • 10.1. Implementation of the Front End for URE-HTML Page Templates
    • 10.2. Implementation of the Front End for Presentation Frameworks
    • 10.3. Implementation of the Front End for Rich Internet Applications
    • 10.4. Implementation of the Front End for Mobile Applications
    • 10.5. Summary of the Chapter
    • 10.6. Bibliographic Notes
  • Chapter 11. Tools for model-driven development of interactive applications
    • 11.1. Introduction to Webratio
    • 11.2. Domain Model Design
    • 11.3. IFML Front-End Design
    • 11.4. Data Mapping and Alignment
    • 11.5. Action Design
    • 11.6. Presentation Design
    • 11.7. Code Generation
    • 11.8. Advanced Features
    • 11.9. Summary of the Chapter
    • 11.10. Bibliographic Notes
  • Chapter 12. IFML language design, execution, and integration
    • 12.1. IFML Language Specification Through Metamodeling
    • 12.2. IFML Model Execution
    • 12.3. IFML Models Integration with Other System Modeling Perspectives
    • 12.4. Summary of the Chapter
    • 12.5. Bibliographic Notes
  • Appendix A. IFML notation summary
  • Appendix B. List of IFML design patterns
  • References
  • Index


Interaction Flow Modeling Language describes how to apply model-driven techniques to the problem of designing the front end of software applications, i.e., the user interaction. The book introduces the reader to the novel OMG standard Interaction Flow Modeling Language (IFML). Authors Marco Brambilla and Piero Fraternali are authors of the IFML standard and wrote this book to explain the main concepts of the language. They effectively illustrate how IFML can be applied in practice to the specification and implementation of complex web and mobile applications, featuring rich interactive interfaces, both browser based and native, client side components and widgets, and connections to data sources, business logic components and services.

Interaction Flow Modeling Language provides you with unique insight into the benefits of engineering web and mobile applications with an agile model driven approach. Concepts are explained through intuitive examples, drawn from real-world applications. The authors accompany you in the voyage from visual specifications of requirements to design and code production. The book distills more than twenty years of practice and provides a mix of methodological principles and concrete and immediately applicable techniques.

Key Features

  • Learn OMG’s new IFML standard from the authors of the standard with this approachable reference
  • Introduces IFML concepts step-by-step, with many practical examples and an end-to-end case example
  • Shows how to integrate IFML with other OMG standards including UML, BPMN, CWM, SoaML and SysML
  • Discusses how to map models into code for a variety of web and mobile platforms and includes many useful interface modeling patterns and best practices


IT professionals and graduate students of Computer Science / Computer Engineering courses


No. of pages:
© Morgan Kaufmann 2014
17th November 2014
Morgan Kaufmann
Paperback ISBN:
eBook ISBN:


"...a timely attempt to add value to software engineering process modeling exercises with a specific emphasis on establishing uniformity of the interaction style and usability of the interface...very systematic in approaching the modeling exercise by defining its belief systems... and then binding all these for better user interfaces." --Computing Reviews

Ratings and Reviews

About the Authors

Marco Brambilla

Marco Brambilla is actively researching on methods and tools for model-driven software development, with special focus on web applications, search engines, social networks and crowdsourcing platforms. He is professor of software engineering and researcher at Politecnico di Milano and partner of the spinoff WebRatio, which produces MDD tools based on IFML, UML, and BPMN. He is the principal contributor of the Interaction Flow Modeling Language (IFML). He authored several books, including Developing Data-Intensive Web Applications (Morgan Kaufmann, 2002) and Model-driven Software Engineering in Practice (Morgan&Claypool, 2012).

Affiliations and Expertise

Professor of Software Engineering and Researcher at Politecnico di Milano, Milano, Italy

Piero Fraternali

Piero Fraternali has researched for twenty years on the methods and tools for improving the development of Web and multi-channel applications. He is the principal investigator of the Web Modeling Language (WebML), which inspired the IFML OMG standard, and co-founder of WebRatio, a company specialized in model-driven tools.

Affiliations and Expertise

Professor of Web Technologies, Politecnico di Milano, Milano, Italy