Desktop version

Home arrow Computer Science arrow Object-Oriented Analysis and Design for Information Systems Modeling with UML, OCL, and IFML



Data flows are a kind of flow that is not rendered, but that define data dependency between view components.[1] Dashed arrows represent data flows.

Data flows do not define navigation between view components. They are used to get values from one component without navigating from it. They are particularly useful when a component needs data from more than one component. The following sections present examples of data flows that get data from different sources.

Parameter binding

A parameter binding is a piece of information that is transmitted from the origin to the destination of a flow. A parameter binding has a name and a value, which is obtained at its origin component. A flow may have a multiple parameter binding, passing a set of values instead of a single one. Usually, object keys or attribute values are passed by parameter bindings. By default, a flow from a view component binds the key of the selected object at the origin component and takes it to the destination, where it can be used, for example, by a conditional expression.

In previous examples only constants were used in conditional expressions to select the elements to be shown in view components such as lists and details. Now, with flows and parameter binding, it is possible to use a view component to define which elements are shown in another view component.

The IFML diagram shown in Figure 12.27 shows a list of books with a flow to a details view component. The details view has a key condition [oid = ?]. As the key of the selected book at the

FIGURE 12.27

A normal navigation flow connecting two view components.

list is bound to the flow that goes to the details view, only that book is shown when the details view is rendered.

When the user selects a book in the list, by clicking the respective link, the details view presents information about the book. Figure 12.28 shows the state of the page when the link associated to the first book is clicked.

Parameter binding may also be used to associate a form to another view component. For example, the form may provide a search field, and a list would present only the elements that satisfy some search criteria.

Figure 12.29 shows an example where a search field is used to find the books of a given author. The user may type the author’s name or part of it in the search field, and the results are shown in the Books list.

The parallelogram that is next to the flow indicates that this flow has a parameter binding that is not the default object key.

In the rendering shown in Figure 12.30, the user just typed “Clarke” in the search field, and the results produced are shown in Figure 12.31.

Multivalued parameter binding

It is possible to define flows from multiple-choice components such as checkable lists. In these cases, a parameter binding passes a set of values (checked elements keys, for example).

If a checkable list is linked to a multiple details view like in Figure 12.32, the user may select a number of elements on the checkable list as in Figure 12.33 and press the button on the bottom to navigate to the page that shows the details of the selected books only (Figure 12.34). The multiple details view has a key condition that states that only books whose OID belong to the set that is bound to the flow are shown.

  • [1] And operations as explained later.
Found a mistake? Please highlight the word and press Shift + Enter  
< Prev   CONTENTS   Next >

Related topics