You are previewing Interaction Flow Modeling Language.
O'Reilly logo
Interaction Flow Modeling Language

Book Description

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.



  • 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

Table of Contents

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