Why thorough interface control should help you avoid nasty surprises.
There is a tendency for some systems engineers to think that interface control can wait until you are down in the detail of design, capturing the parameters that are exchanged between sub-systems. I’d argue that ICDs capture the context in which a system operates and provide important drivers into the design and consequences of design choices upon the opposite side of the interface. Ensuring that all interactions are captured and that the boundary conditions are shared between sub-systems should help anticipate the emergent properties of a complex system.
Misunderstanding of context and relationships between elements of a system will tend to emerge as unexpected behaviour during integration testing if you are lucky, or when operating it if you are not. We must make sure we spot them in a complex, safety critical system because missing them can be expensive or hazardous or both.
Let me demonstrate with an example: at the start of the first day of extra-vehicular activity (EVA) of the second Hubble Servicing Mission, the astronauts were preparing to leave the Shuttle and get started on upgrading elements of the telescope. Suddenly, without any warning and whilst powered off, one of the two solar arrays spun through 150 degrees and struck its end stop. This coincided with the astronauts starting to depressurise the airlock (as they had done previously without event during the first servicing mission) and the array engineers watching from the ground were caught completely off guard. It turned out that the Shuttle engineers had modified the venting of air to improve the speed with which astronauts could egress, without checking where the plume of vented air might impinge. We got lucky because the vented gas, that started the array spinning, finished up slowing the rotation, the plume pressure?having transferred to the opposite face after the array swung beyond 90 degrees and there was enough margin to cope when the end stops were encountered, with twice the angular momentum they had been designed for. A visual survey of the array indicated no obvious damage and the solar array drive was powered up to slew the array back to 0 degrees to return to a nominal condition for the rest of the EVA. Each subsequent crew egress reverted to venting from the throttle-able hatch equalisation valve and the mission was completed without further incident.? This is a classic case of where the external impacts of a design change were overlooked with uncontrolled consequences. The role of the systems engineer is to think through the unexpected aspects of any design change, and this is best achieved if all interactions are managed via ICDs. With the development of robotic in orbit servicing the previous example highlights the need to make sure that all aspects of the client servicer interface are properly managed via an ICD.
Interfaces within a spacecraft broadly fall into three categories:
The systems engineer’s role must be to make sure that the information needed by each engineering discipline is shared across each interface so that the consequences of a design choice in one facet of a design are properly reflected into others. The most extreme case of this is the TMTC Interface (exchanging data between the spacecraft and the ground) because so many different disciplines have a vested interest in different aspects of the data-stream and everybody will blame the systems engineer when they can’t find what they are looking for:
领英推荐
Add in that the verification team are going to be worrying about all of the above to support test plans and to design & validate test equipment. So the systems engineer must reconcile needs of multiple customers to provide mutually consistent data that allows the mission to be achieved. I would argue that it is the specialists who need to populate the detail of the ICD but the systems engineer must assure its completeness and translation for sharing with other users.
Early in system definition interface control is about making sure that all aspects of context are taken into account in formulating a coherent concept. In redrafting the sketch of an Earth Observation Mission that introduced this article to move from specification to interfaces there was not one bubble, box or arrow that didn’t have to be moved to accommodate interdependencies! As the architecture is defined the consequences of design choices in one part of the system have to be captured, so that their impact upon others is properly understood. By the time critical design review is reached every last bit must be detailed so that sub-system implementation will deliver the expected system outcome and successful integration can be demonstrated without any nasty surprises.
This is the fifth article in a series. If you are a glutton for punishment you may want to read the others:
Very interesting article Alan! Early ICD definition is so important - and using a consistent approach when defining interfaces. ?????????
Software Engineer
1 年Couldn't agree more Alan! Finding out and specifying the interfaces is a critical part of the design process!