5.4 Analysis of Internal Function

Internal Function

Next we analyze the internal function (Question 5b of Table 5.1). Within a system, there are internal functions and relationships among these internal functions. Together these define the functional architecture of the system. The externally delivered function, performance, and “ilities” emerge from these internal functions and relationships.

First, we identify the important internal functions or the entities of function (discussed in this section). Then we construct the functional architecture (discussed in Section 5.5) when we connect up the entities of function. These two steps are similar to the procedure used in systems engineering of functional decomposition. [2]

The key task is to identify the entities of internal function. We have already encountered internal functions in the simple examples of Chapter 2. Notice that each of these internal functions has an operand part and a process part, as shown in Table 5.3. For the operational amplifier, gain is an operand, and setting is a process. The output signal (with voltage as a state) is an operand, and increasing is the process.

Table 5.3 | Principal value-related internal functions of a system, listing the operand and process parts of the function, and the system form

Principal Internal Operands Internal Processes System Form
Gain Setting Operational amplifier
Voltage Increasing
Requirements Finalizing Team X
Concepts Developing
Design Approving
Oxygen Absorbing Circulatory system
Blood Pumping
Oxygen Delivering
Flow Accelerating Centrifugal pump
Flow Diffusing
I index Looping Bubblesort code
J index Looping
Array entries Testing
Array entries Exchanging
Dough Mixing Kitchen
Bread Baking
Slices Cutting

Identifying Internal Function

How did we identify the internal functions? There are several approaches, including reverse ­engineering of the form, standard blueprints, and metaphor. In reverse engineering, we start with the elements of form and reverse-engineer their functions. In the op-amp circuit there are only three elements. We reason, “What do these elements do?” A modest understanding of active analog circuits would reveal that the voltage divider in a feedback loop sets the effective gain for the op-amp, and the op-amp amplifies a signal.

Table 5.3 lists the internal functions of Team X. How did we identify these internal functions? This is a case in which we can apply our understanding of a standard blueprint of process. There are some combinations of processes that often go together to achieve an emergent ­function. For example, Box 5.6 describes a standard blueprint for making a decision.

Because developing a design is basically making a set of decisions, we would not be surprised if the internal processes of Team X therefore followed something of the blueprint of a decision process: Finalizing the requirements (Table 5.3) is gathering evidence and developing decision criteria (Box 5.6); developing design concepts is developing options; and approving the design is evaluating options and making a decision.

For the circulatory system, Table 5.3 indicates the internal functions. How did we identify these? In this case, you might consider a home heating system as a metaphor for the human ­circulatory system. In each there is a working fluid (water/blood) that absorbs “something” (heat/oxygen), and is pumped to a delivery point.

Other approaches to analyzing internal functions include the three techniques we developed in Chapter 2 for predicting emergence: precedent, analysis, and experiments. Often, just observing operations is valuable too. In applying these approaches, we must first focus on the internal processes that lead to the creation of value. We must also apply domain knowledge and experience.

We can now apply this procedural guidance to analyze making sliced bread. We could just observe someone making bread, or we could infer the internal processes from a standard blueprint for cooking: chop/mix food, heat, and break into chunks. It is not much of a jump from this blueprint to bread: mix to produce dough, heat to produce bread, and cut to produce slices. Figure 5.10 shows the OPM diagram for this set of internal processes.

A diagram showing internal functions of bread slice making.

Figure 5.10  Internal functions of bread slice making.

Turning our attention to the pump, we focus on the value-related external function of pressurizing the water. It requires significant domain knowledge to identify the internal function of the system. The pump first increments kinetic energy and then trades it for the potential energy associated with pressure. Thus, in addition to the inflow and outflow functions, the two principal internal functions are accelerating to produce internal high-velocity flow and diffusing to produce internal high-pressure flow.

The matrix approach to representing internal function is to create an array that has the process on one axis and the operands on the second. We will call this the PO array (for process-­operand). Looking only at the “create” steps of Table 5.4 shows the internal processes for the pump. Adding the “destroy” steps indicates the functional architecture, as discussed below.

Table 5.4 | The process-operand (PO) array of the functional architecture of the pump is made up of internal processes and operands, as well as interface operands (c’ means create, d means destroy).

Process List Internal low pressure flow Internal high velocity flow Internal high pressure flow External low pressure flow External high pressure flow
Inflowing c' d
Accelerating d c'
Diffusing d c'
Outflowing d c'

For the bubblesort code, focus on the external value-related operand, the sorted array. Imagine a metaphor: You are at a gambling table sorting a hand of cards from smallest to largest. You might exchange them pairwise until they are sorted. We can also reverse-engineer the pseudocode, identifying what the lines of code do. We can consider the algorithm as a blueprint. Applying these techniques, we identify four internal functions associated with looping + I index, looping + J index, testing + array entries, and conditionally exchanging + array entries.

A diagram of internal functions and functional architecture of bread slice making.

Figure 5.11  Internal functions of bubblesort.

The OPM diagram of the internal functions of bubblesort (Figure 5.11) shows the internal functions. Looping affects the index value, in that it increments the value (changing its state), but it does not create or destroy the index. Likewise, exchanging affects the location or value of an array entry but does not create or destroy the entry. The array entries are actually an instrument of testing, and testing does not change anything about the array element; it just uses the information to make a decision. This is an example of an operand object being used as an instrument. Objects that are operands appear dynamically during operations and usually are transformed, but they can also act as instruments of subsequent processes.

In summary:

  • Within a system, there are internal functions, which include internal processes and internal operands.

  • The procedure for identifying the internal functions includes these steps:

    • Focus on the primary externally delivered function, the value-related operand that leads to the creation or destruction of, or has an effect on, the value-related operand.

    • Involve domain experts; there is no substitute for experience.

    • Use the reverse engineering of key elements of form, standard blueprints in your field, and metaphors to understand internal functions.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.116.74