GLOBAL KNOWLEDGE ARK

Engineering & Technology · Systems Engineering, Integration & Validation

Interfaces, dependencies and integration planning

Two modules both accept a number called duration. Their connectors fit and their messages arrive, yet one interprets the value in minutes and the other in seconds. A working connection has transported an incorrect meaning. Integration needs more than physical assembly.

Use the design and measurement chapters for requirement wording, comparisons and evidence. This chapter introduces its systems vocabulary directly; later reliability, control and economics work develops specialised models. NASA guidance supplies general process concepts, not universally applicable industry or certification rules.

Back to the chapter

After reading, you can

Specify interface meanings and dependencies and plan integration so that interactions receive direct evidence.

01

An interface is a shared obligation

An interface describes a relationship across a boundary. Mechanical fit, transferred loads, power, heat, fluid, data and human interaction can each require specifications. Identify both sides, their responsible owners and the conditions in which the relationship must hold. A local document understood by only one team cannot establish compatibility.

For a data item, define the quantity, unit, range, representation, update behaviour and meaning of missing or invalid values. For a physical connection, relevant geometry, loads or environmental conditions may be needed. Do not confuse an illustrative list with a complete industry specification; the required details follow from the particular functions and consequences.

02

Follow an error through the relationship

Our original interface sends a duration of 2 intended as minutes. A receiver interpreting seconds obtains 2 s instead of 120 s. The factor 60 difference survives perfectly reliable transmission. Stating the field name and numeric range without its unit leaves this error possible.

Even a correct unit is incomplete when the start event differs. Does the duration begin at authorisation, display of the result or confirmation by the visitor? A timeout can also arrive while another operation remains pending. Define relevant states and event ordering, and check duplicated, delayed and absent messages where they affect the intended service.

Matching values are insufficient when meanings differOriginal expiry interface example: producer sends duration=2 with unit minutes; receiver assumes seconds. Intended 120 s differs from interpreted 2 s by factor 60. A shared contract must specify duration, units, start event and exceptional states.Original interface mismatch · time unitsProducerduration=2 minutesReceiverassumes 2 secondsSame number ≠ same quantityIntended 120 s / interpreted 2 s =60Define quantity · unit · start event · validity · failure response
The same encoded value 2 means 120 seconds to a producer using minutes and 2 seconds to a receiver using seconds, a 60 fold difference. This is a duration mismatch, not a clock-synchronisation example; a complete interface also defines the starting event and invalid/missing data behaviour.
03

Specify the state consequence of a received value

Define original illustrative agreement IC1 for the station/catalogue D1 representation: duration is in whole seconds, consistent with the configuration example later in this chapter. The catalogue owner produces the reply and the station owner consumes it. They jointly own the meaning and compatibility agreement; the building-network owner supplies relevant transport conditions. READY means a current reservation indication in this model, not a command or record confirming physical collection.

A new station request enters WAITING with a new opaque request ID. For an active ID, the first valid D1 reply with valid status and duration_s in the integer range 1–300 enters READY. Its expiry is the station’s local monotonic acceptance time plus that duration. This explicitly chooses acceptance, rather than card presentation or catalogue creation, as the interval’s start. It is an agreed teaching policy, not a recommended authorisation rule. A reply timeout is separately 0.5 s from sending the request; that failure rule is outside R1’s normal connected-path timing case.

At expiry, enter EXPIRED. An identical reply for the same ID does not restart the interval. A conflicting reply for that active ID, invalid/missing duration, unavailable status or unsupported representation enters UNAVAILABLE and records the reason. A reply for an inactive ID is ignored. A request with no reply by its 0.5 s timeout enters UNAVAILABLE; late replies cannot resurrect that closed request. A new request is needed. On restart, invalidate local indications/active IDs until a new request; collection reconciliation remains a separate obligation.

When an expiry or timeout and a message share the same timestamp, apply the expiry/timeout first. The event order matters: a duplicate arriving exactly at expiry cannot extend READY. All example times below use one controlled local clock, so no cross-machine clock-synchronisation accuracy is assumed.

Selected IC1 contract fields and obligations. This bounded teaching contract is not a complete security, authorisation or production protocol.
Contract itemProducer / consumer meaningInvalid or exceptional consequenceOwner / evidence
Identity and representationCatalogue echoes active request_id; D1 carries whole-second duration_sInactive ID ignored; unsupported representation for active ID → UNAVAILABLEBoth owners agree; capture actual encoded reply
ValueFor valid status, duration_s is integer 1–300; example 120Missing, noninteger or out-of-range value → UNAVAILABLECatalogue produces; station validates/stores 120 s
Start and expiryFirst accepted valid reply starts local interval; expire at start+durationDuplicate does not reset expiry; conflicting active-ID reply → UNAVAILABLEStation clock/state trace
Missing or late replyWAITING lasts at most 0.5 s from request sendTimeout → UNAVAILABLE; late reply for closed ID ignoredStation owner plus network-condition record
LifecycleRestart invalidates local indications; READY ≠ confirmed collectionNew request needed; reconcile confirmed/pending collection separatelyStation/catalogue/library service owners
04

Predict the non-nominal state before running the check

Nominal-plus-duplicate trace: send K7 at local time 9.9 s. Receive D1/K7/valid/duration_s=120 at 10 s. Store 120 seconds, enter READY and set expiry 130 s. Receive the identical K7 reply at 50 s: remain READY with expiry 130, not 170. At 130 s enter EXPIRED even if a duplicate has exactly that timestamp. These are falsifiable expected states, not just a check that a message arrived.

Invalid trace: send K8 at 200 s, then receive a valid-status reply at 200.1 s with duration_s missing. Enter UNAVAILABLE and retain the invalid-data reason; do not invent a duration or display READY. A later corrected reply cannot revive the closed K8. In the separate missing-message case, send K9 at 300 s and receive nothing: at 300.5 s enter UNAVAILABLE; a reply at 300.6 s remains ignored. Clear session IDs separate these cases.

IC1 accepted interval and duplicate replayThe READY interval runs from local time 10 to 130 seconds on a linear time axis. A duplicate at 50 seconds leaves the same expiry.A duplicate does not extend the accepted intervalOriginal IC1 case; one local monotonic clock; D1 duration = 120 sREADYAccepted at 10 sDuplicate at 50 sEXPIRED at 130 s01050100130140Local time (s)First acceptance + duration = 10 + 120 = 130 s.Replaying the same reply at 50 s does not move expiry to 170 s.
Original case: request K7 sent at 9.9 s, first valid reply accepted at 10 s with duration 120 s. READY spans 10–130 s. Identical duplicate at 50 s does not change expiry; at 130 s expiry is processed before any simultaneous duplicate, giving EXPIRED. The short WAITING interval is omitted from the plotted READY bar.
05

Plan interactions before final assembly

Integration planning identifies the elements, their prerequisites, configurations, enabling equipment and evidence needed at each stage. A staged station plan might check a reader with a controlled record source, then the real catalogue interface, then the whole visitor task. Each stage should expose a particular relationship while keeping limitations visible.

A simulator is useful when an unavailable external service would otherwise block development. Record what it represents and which behaviours it omits. Passing against a simulator that never delays or returns invalid data cannot establish performance under those conditions. Retain anomalies, investigate their causes and repeat affected checks on the corrected configuration before treating the relationship as established.

06

Choose the next integration stage by its missing dependency

Use the stages below as a bounded plan, not a claim that these checks were performed. A clock-driven stub is enough to falsify the local duplicate/expiry logic. It cannot establish what the real catalogue encodes or how the actual reader/display behave. Move to the next dependency only with its prerequisite configuration and expected observations identified. Retain failures and any corrected version so a later pass has a defined subject.

A D2 consumer interprets whole milliseconds while D1 uses whole seconds. If a D1 reply 120 is wrongly accepted as milliseconds, a reply received at 10 s expires at 10.12 rather than 130 s. A P1 stub already converted to D2 would hide the mixed-version fault. P2 therefore needs real wire representation and agreement about both ends, with a mismatch rejected rather than silently guessed. P3 then checks whether the physical visible event matches the earlier internal-state expectations.

Original proposed integration sequence with explicit exit observations and remaining limitations.
StageConfiguration and prerequisitePurpose / expected exitStill unresolved
P1Station S1/D1, controlled local clock and record stub; agreed IC1 casesK7 expiry 130 s unaffected by duplicate; K8/K9 never READYReal catalogue representation and network behaviour
P2P1 cases retained; real catalogue C1/D1 plus controlled delay/drop; known S1Captured fields/IDs and receiver states match IC1, including invalid/late/duplicate pathsActual reader/display timing and representative visitor service
P3P2 wire/state agreement; H1/S1/C1/D1 with defined card/visible timestamp methodNormal R1 case checked against 200 ms; expiry observed at its specified local-clock boundaryOther loads/environments, accessibility and collection confirmation require their own evidence

Turn a compatibility issue into a targeted check

The station team writes a shared contract for duration in seconds, identifies its start event and specifies the relevant invalid-data behaviour with the catalogue owner. A supplied test case encodes 120 and observes both the receiver’s stored duration and the corresponding state transition under a controlled clock.

This check targets unit interpretation and timing semantics. It does not establish mechanical fit, network resilience or the complete visitor service. Link it to the interface obligation, identify the tested versions and retain the observation. Additional integration cases should target other relevant paths rather than repeating only the nominal message until the result looks reassuring.

Try the reasoning

  1. Can reliable delivery prevent a unit mismatch?

    Show the answer and reasoning

    No. Reliability of transport and agreement about meaning are different properties.

  2. Why identify the duration’s start event?

    Show the answer and reasoning

    A correctly expressed interval can still expire at the wrong point when the two sides use different starting events.

  3. What does a nominal simulator test leave unresolved?

    Show the answer and reasoning

    Any relevant real-service behaviour that the simulator does not represent, such as delay, failures or different data states.

  4. A valid 120-second reply first arrives at 5 s and an identical duplicate arrives at 50 s. What happens at 125 s under IC1, including a duplicate at that same instant?

    Show the answer and reasoning

    The first reply sets expiry 5+120=125 s. The duplicate at 50 does not reset it. At 125 the expiry event is applied first and the indication becomes EXPIRED; the simultaneous duplicate cannot restore READY. A new request/valid result would be a different session event, not an extension caused by replaying the old reply.

  5. P1 passes with a D2 millisecond stub, but the independently owned catalogue still emits D1 seconds. Which integration dependency is missing, and what concrete fault could remain?

    Show the answer and reasoning

    Agreement and observation of the real producer/consumer representation in P2 are missing. A value 120 from D1 could become 0.12 s in the D2 consumer, expiring at 10.12 s for a 10 s acceptance instead of 130 s. Capture the actual versioned wire value and expected state with both owners; a locally consistent converted stub cannot establish mixed-version compatibility.

What to carry forward

Agree on both sides of every consequential interface and gather evidence about their interaction in known configurations and conditions.

References

Teaching resources and research supporting this lesson’s explanations and examples.

  1. NASA2 sources
    1. Systems Engineering Handbook §6.3: Interface ManagementNASAReference guidenasa.govRead source
    2. Systems Engineering Handbook §5.2: Product IntegrationNASAReference guidenasa.govRead source
  2. Mission Data System: State AnalysisNASA Jet Propulsion LaboratoryReference guidejpl.nasa.govRead source