Interfaces and Integration

Overview

This activity illustrates the concept of the object or component interface. It also emphasizes the importance of well-designed interfaces and the role that they play during the integration process. In this activity, teams of students work in parallel to build several components of an airplane, which they need to integrate together at a later point. Then, designing and negotiating component interfaces before the second build allows the teams to see the resulting efficiency of integrating their components together into a complete airplane. This is an analogy of building multiple components of a software system in parallel by separate teams and then trying to integrate these components together at a later point.

Learning outcomes

As a result of completing this activity, students will be able to:

  • Understand the concept of object (component) interface;
  • Design and build objects/components with well-articulated interfaces;
  • Integrate existing objects/components into a single system by using an interface adapter.

Prerequisites

  • Basic familiarity with the concept of object (component) interface.

Timing considerations

Up to 60 minutes.

Number of participants

This activity works equally well for small and large groups, which need to broken up into four teams of 2-5 participants. Larger groups can be broke up into eight groups (with two clusters of four groups working in parallel to build two separate airplane).

Logistics

Each team needs a separate building space (a medium table), with or without chairs. If possible, one extra table will be needed in front of the room for the integration work. LEGO bricks should be divided equally among all teams.

Materials and supplies

  • LEGO sets for each team:
    • Each team needs a separate set with a large number of standard (2x2, 2x3, 2x4, up to 2x8) bricks. Suitable sets include LEGO Classic boxes, such as LEGO Classic Large Creative Brick Box 10698.
    • Ideally, the team building the wing assembly will need a number of long plates (thin bricks).
  • Handouts: images of the airplane cross-section (see below).
  • Blank paper and pencils for each team to sketch their interface designs.

References

Scenario of the activity

  1. Introduction: 5 minutes
    1. Present the problem: we are constructing an airplane out of components that will be built in parallel by each team.
    2. Discuss the constraints
      • We are building an airplane that consists of four components: cockpit, fuselage, tail end, wing assembly (one large piece built with platforms).
      • There is no landing gear or engines/turbines/propellers.
      • The wing assembly is made with the thin plates and must be attached to ether top or bottom of the fuselage.
      • Provide the cross-section profile as a part of specifications.
      • Each team is assigned a single component to build in parallel with other teams.
      • We must NOT use red color to build components.
        Red bricks will be used during the integration phase to illustrate any changes we have to make to the completed components.
  2. Part 1 - Build without interfaces: 20 minutes
    1. Each team builds their component without designing or discussing component interfaces: 10 minutes
      While building, teams may start reaching out to each other to discuss how they will be integrating their components once they are done building them. Observe their interactions, but do not interrupt. Reflect about this during the debrief.
    2. Once each team is done building, ask one member of each team to bring their component to the front of the room and demonstrate their work to everyone.
    3. Ask the team representatives to attempt to put components together without changing them.
      Most likely, it will be very impossible to achieve that without removing or adding bricks. Why is that the case?
    4. Ask the team representatives to accomplish this task by using red bricks. Any bricks that are added must be red. Any bricks that are removed and then placed back to connect the components must also be replaced with red-colored bricks.
      All red bricks used to connect the components together represent an interface adapter.
    5. Measure how much time it takes to complete the integration phase.
    6. Break the models apart for the next part of the activity.
  3. Part 2 - Build without interfaces: 20 minutes
    1. Rotate the teams so that each team builds a different component.
    2. Ask each team to delegate one member to negotiate component interfaces: 2 minutes.
      Object interfaces must be documented/sketched and reviewed before each team representative takes them back to their team
    3. Each team builds their component incorporating the interface: 8 minutes.
    4. Once each team is done building, ask one member of each team to bring their component to the front of the room and demonstrate their work to everyone.
    5. As in the previous part of the exercise, ask the team representatives to use the red bricks to integrate the components into a complete airplane.
    6. Measure how much time it takes to complete the integration phase.
  4. Discussion: 10+ minutes
    1. Discuss the wing assembly: why did we have so few problems with the wings?
      Wings are always easy to attach because their interface is already explicitly provided by the cross-section diagram. They simply need to fit the top or bottom of the fuselage, whose shape is known in advance.
    2. Discuss and compare the timing of both parts of the activity.
      Point out that there was equal time given for Part 1 and 2. How much time did we save during integration by providing explicit interfaces in Part 2? Why?
    3. General discussion
      Did everything work flawlessly in Part 2? What were the issues and how they could be avoided? Is it ever possible to build (software) components that would integrate perfectly?

Practical observations

  • Be clear about the requirements. It may be necessary to explain in detail the differences between the different airplane components, as well as the restriction on the use of red bricks.
  • Remind the teams to focus on the overall structure of each component instead of making it realistic. For example, students may want to build a realistically looking cockpit with glass windows, but this is not an objective of this activity. However, many students enjoy adding realistic details, anyway.
  • Remind the teams about remaining time. It is important that each team completes their component within the allotted time.

Handouts

Cross-section of a LEGO airplane. Note: this document contains two cross-sections, large and small, suitable in different circumstances--see notes below.

Notes on scaling up/down

There are several options on scaling this activity. When a larger group needs to be accommodated, but without adding extra LEGO bricks, it is recommended to use the cross-section of a small LEGO airplane (see handouts). Additionally, it is possible to use only three airplane components (wing assembly, front end of the fuselage with the cockpit, back end of the fuselage with the tailpiece) without sacrificing the learning outcomes. The recommended brick set, LEGO Classic Large Creative Brick Box 10698, is sufficient for four teams building a large airplane or for three teams building the large airplane, as detailed in the handout.