ArticleslgStudy

computer science

Interaction Flow Modeling Language

Interaction Flow Modeling Language is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Interaction Flow Modeling Language rather than just read about it. In short: The Interaction Flow Modeling Language (IFML) is a standardized modeling language in the field of software engineering. IFML includes a set of graphic notations to create visual models of user interactions and front-end behavior in software systems.

Interaction Flow Modeling Language — main illustration
Interaction Flow Modeling Language — illustration

Key takeaways

  • Interaction Flow Modeling Language belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Interaction Flow Modeling Language to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Interaction Flow Modeling Language from memory before moving on to harder problems.

Reference excerpt

The Interaction Flow Modeling Language (IFML) is a standardized modeling language in the field of software engineering. IFML includes a set of graphic notations to create visual models of user interactions and front-end behavior in software systems. The Interaction Flow Modeling Language was developed in 2012 and 2013 under the lead of WebRatio and was inspired by the WebML notation, as well as by a few other experiences in the Web modeling field. It was adopted as a standard by the Object Management Group (OMG) in March 2013.

Focus IFML supports the platform independent description of graphical user interfaces for applications accessed or deployed on such systems as desktop computers, laptop computers, PDAs, mobile phones, and tablets. The focus of the description is on the structure and behavior of the application as perceived by the end user. IFML describes user interactions and control behaviors of front-end of applications belonging to the following domains:

HTML+HTTP based Web applications. Rich Internet Applications, as supported by the HTML 5 standard. Mobile applications. Client-server applications. Desktop applications. Embedded Human Machine Interfaces for control applications. Multichannel and context-aware applications. IFML does not cater to the specification of bi-dimensional and tri-dimensional computer based graphics. IFML does not apply to the modeling of presentation issues (layout/look and feel) of an application front-end or to the design of business logic and data components. Although these aspects are not the focus of the language, IFML allows designers to reference external models or modeling artifacts regarding these aspects from within IFML models.

Content of the standard The IFML specification consists of:

The IFML metamodel (MOF). The IFML UML profile. The IFML visual syntax (Defined through Diagram Definition and Diagram Interchange specification). The IFML XMI model exchange format.

Main modeling concepts

An IFML model consists of one or more view containers (possibly nested). For example, windows in traditional desktop applications or page templates in Web applications. A view container can contain view components, which denote the publication of static or dynamic content, or interface elements for data entry (such as input forms). A view component can have input and output parameters. A view container and a view component can be associated with events, that can represent users' interactions or system-generated occurrences. For example, an event for selecting one or more items from a list or for submitting inputs from a form. The effect of an event is represented by an interaction flow connection. The interaction flow expresses a change of state of the user interface. An event can also trigger an action, which is executed prior to updating the state of the user interface; for example, a delete or update operation on instances of a database. An input-output dependency between elements can be specified through parameter bindings associated with navigation flows or through data flows, that only describe data transfer. IFML also includes concepts for defining constraints, modularization, and context awareness (e.g., based on user profile, device, location) over modeling elements. IFML concepts can be extended with standard extension mechanisms based on stereotyping.

Benefits The cost of front-end application development has increased with the emergence of an unprecedented range of devices, technological platforms, and communication channels, which are not accompanied by the advent of an adequate approach for creating a Platform Independent Model (PIM) that can be used for designing user interactions independently of the implementation platform. This causes front-end development to be a costly and inefficient process, where manual coding is the predominant development approach, reuse of design artifacts is low, and portability of applications across platforms remains difficult. IFML brings several benefits to the development of application front-ends:

It supports the formal specification of the front-end from different perspectives: interface composition, user interaction, event management. It supports connection with the business logic, the data model, and the graphical presentation layer. It isolates the specification of the front-end from implementation-specific issues. It improves the development process, by fostering the separation of concerns between roles in the interaction design. It enables the communication of UI design to non-technical stakeholders.

Implementations and tools IFML is currently supported by WebRatio [1]. A set of blog posts describing the standardization process is available here[link removed]. A new, open-source IFML editor based on Eclipse, EMF/GMF and the Graphiti API is under development. The tool will be released as an open-source Eclipse Project. The tool will include mappings from IFML abstract concepts to the platform- specific concepts of Java Swing, Microsoft WPF, and HTML. The modeling of the IFML diagrams for the UI part can be complemented with (executable) UML diagrams according to fUML specifications combined with Alf scripts for the back-end business logic. A sneak preview of the tool features can be seen in this video. IFMLEdit.org[2] is a web-based open-source IFML editor focused on education and agile development. It supports model editing, code generation and emulation. Currently it supports the generation of code for server side NodeJS, client side JavaScript and mobile applications via Cordova or Flutter.

History IFML was inspired by the WebML notation, invented at Politecnico di Milano by Stefano Ceri and Piero Fraternali, with a team of people including Roberto Acerbis, Aldo Bongio, Marco Brambilla, Sara Comai, Stefano Butti and Maristella Matera.

References

… excerpt ends here. Continue reading the full article.

Illustrations

Interaction Flow Modeling Language: Official logo of IFML (Interaction Flow Modeling Language) by OMG.
Official logo of IFML (Interaction Flow Modeling Language) by OMG.
Interaction Flow Modeling Language: Main IFML concepts and notations.
Main IFML concepts and notations.

Worked examples

Example 1 — a first encounter with Interaction Flow Modeling Language

Start with the simplest possible case. Write down what Interaction Flow Modeling Language claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Interaction Flow Modeling Language before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Interaction Flow Modeling Language ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Interaction Flow Modeling Language

In research
Interaction Flow Modeling Language appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Interaction Flow Modeling Language in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Interaction Flow Modeling Language is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer standards, Software design, Specification languages, so understanding it makes those chapters shorter.
In everyday life
Look for Interaction Flow Modeling Language outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Interaction Flow Modeling Language in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Interaction Flow Modeling Language means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Interaction Flow Modeling Language out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Interaction Flow Modeling Language in simple terms?

The Interaction Flow Modeling Language (IFML) is a standardized modeling language in the field of software engineering. IFML includes a set of graphic notations to create visual models of user interactions and front-end behavior in software systems.

Why does Interaction Flow Modeling Language matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Interaction Flow Modeling Language?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Interaction Flow Modeling Language.

Tags

  • Computer standards
  • Software design
  • Specification languages

Keep exploring