Functional architecture¶
What the Apollo 11 mission system must do, independent of how it is built, and which abstract part of the system does it. This page covers the CoSMA functional and logical layers: the function breakdown, the functions' inputs and outputs, their trace to the operations of the concept of operations, and their allocation to logical components, which the physical architecture then realizes. It is meant for systems engineers working on the architecture and for reviewers checking that every operation is covered by a function and every function by a component.
How functions relate to operations and components¶
The model keeps what happens (operations), what the system must do (functions) and what does it (components) in separate layers, and links them with three kinds of statement. Read in the terms of an activity-based ontology: an operation is an activity, the functions that refine it are the functions the activity invokes, and the component that performs a function is the component the function is performed by. CoSMA adds one step: functions are performed by logical components (roles such as the launch system), and physical components inherit those functions by specializing a logical component.
%%{init: {"flowchart": {"wrappingWidth": 420}}}%%
flowchart LR
phase(["Mission phase"]) -- "performs (do action)<br/>41 steps" --> op["Operation<br/><small>activity</small>"]
fn["Function"] -- "refines (#refinement)<br/>52 links" --> op
lc["Logical component<br/><small>role</small>"] -- "performs (perform)<br/>52 links" --> fn
tc["Technical component<br/><small>flight hardware</small>"] -- "specializes<br/>3 links" --> lc
gs["Ground and context system<br/><small>outside the mission system</small>"] -- "specializes<br/>7 links" --> lc
fn -- "satisfies (satisfy)<br/>112 statements" --> fr["Functional requirement"]- Follow the arrows backwards from an operation: the functions that refine it are what the operation demands; the logical component that performs each function owns it; the hardware that specializes that logical component carries it out (see Demands on the hardware below).
- Functions are allocated to logical components only: 3 flight systems (
ApolloSpacecraft,ExtravehicularMobilityUnit,SaturnV) and 7 ground and context systems specialize them. None of the flight systems is a part of another design (a stage or a module), so the allocation stops at the level of whole vehicles. - The model has no direct link from a function to hardware: no technical component performs a function itself.
Function breakdown structure¶
The hierarchy of functions, from the single top-level function
PerformLunarMission through the 3 journeys and one function per mission phase down to the leaf functions that are allocated and specified.Use it to see the scope of the system's behavior at a glance, find where a function sits, and check that the decomposition is complete. Expand a node to open it; hover a function for its definition.
PerformLunarMission performLunarMission (56)
ExecuteOutboundJourney outbound (23)
PrepareForLaunch prep (2)
- PerformPropellantLoading load
- PerformCrewIngress board
LaunchToOrbit launch (7)
- ExecuteTerminalCountdown countdown
- ProvideStage1Thrust provideThrust1
- ProvideStage2Thrust provideThrust2
- ProvideOrbitInsertionThrust provideThrust3
- GuideAscentTrajectory guide
- ObserveAscentDataFromCockpit observe
- AnalyzeLaunchTelemetryFromGround analyze
SetTranslunarCourse tli (5)
- ExecuteTranspositionManeuver executeTransposition
- ProvideAttitudeControlThrust provideAttitudeControlAndThrust
- MechanicallyLatchModules reconfigure
- ProvideTranslunarInjectionThrust burn
- ControlTranslunarInjectionBurn control
TraverseToMoon coast (7)
- CalculateCourseCorrection calculate
- ExecuteCourseCorrectionBurn correct
- MonitorOnboardSystems monitorOnboard
- MonitorDownlinkedTelemetry monitorGround
- TransmitAndReceiveSpacecraftSignals comms
- TrackAndRelayGroundSignals trackAndRelay
- ManageCrewSchedules rest
AchieveLunarOrbit loi (2)
- ProvideLunarOrbitInsertionThrust burn
- ControlLunarOrbitInsertionBurn control
ConductLunarOperations lunarOps (20)
PrepareForLanding prepLanding (3)
- PerformOrbitalSystemCheckouts checkout
- PrepareLanderForSeparation prep
- SeparateLanderFromOrbiter undock
LandOnSurface land (3)
- ExecuteDescentBurn burn
- MonitorDescent monitor
- ManuallyPilotLander pilot
ExploreLunarSurface explore (8)
- PerformPostLandingCheck postLand
- PrepareForExtravehicularActivity prepEva
- ProvideIndividualLifesupport provideIndividualLifesupport
- ConductSurfaceExploration eva
- GatherLunarSamples collect
- DeploySurfaceExperiments deploy
- CompleteExtravehicularActivity conclude
- ConductSurfaceRestPeriod rest
ReturnToOrbitAndDock ascendAndDock (6)
- ExecuteAscentBurn ascend
- CalculateRendezvousManeuvers calculate
- ExecuteRendezvousBurns rendezvous
- ConnectSpacecraft dock
- TransferCrewAndMaterials transfer
- DiscardAscentStage jettison
ExecuteReturnJourney returnJourney (13)
SetTransearthCourse tei (1)
- ExecuteTransearthBurn burn
TraverseToEarth coast (5)
- MonitorOnboardSystems monitorSystems
- MonitorDownlinkedTelemetry monitorTelemetry
- TransmitAndReceiveSpacecraftSignals transmitAndReceive
- TrackAndRelayGroundSignals trackAndRelay
- PrepareVehicleForReentry prep
ReenterAndLand land (4)
- SeparateReturnCapsule separate
- GuideAtmosphericEntry guide
- DeployDecelerators deploy
- PerformSplashdown splashdown
RecoverCrewAndAssets recover (3)
- RetrieveVehicleAndCrew retrieve
- ExecuteQuarantine quarantine
- SecureReturnedSamples secure
- The mission splits into 3 journeys (
ExecuteOutboundJourney,ConductLunarOperations,ExecuteReturnJourney), each into one function per mission phase (13 in all); every leaf sits on level 3. - The widest phase function is
ExploreLunarSurfacewith 8 leaf functions. - The second level has 13 phase functions for 13 mission phases, and 13 of them are documented as corresponding to one phase. It mirrors the mission timeline: the decomposition follows when things happen rather than what capability the system provides, so a function needed in several phases appears once per phase.
- 4 leaf functions are reused in more than one phase:
MonitorDownlinkedTelemetry(TraverseToMoon, TraverseToEarth),MonitorOnboardSystems(TraverseToMoon, TraverseToEarth),TrackAndRelayGroundSignals(TraverseToMoon, TraverseToEarth),TransmitAndReceiveSpacecraftSignals(TraverseToMoon, TraverseToEarth).
Function interface table¶
Every function's inputs and outputs, with the item each one carries (most often
VehicleStatus, LunarSamples, CrewStatus, ScientificData). Level 0 is the mission function, level 3 the leaves.Use it to check what a function needs and produces, and spot hand-offs between functions; the filter box finds every function that uses a given item.
| Function | Level | Part of | Inputs | Outputs |
|---|---|---|---|---|
| PerformLunarMission | 0 | plan : MissionPlan, vehicleSystem : VehicleStatus, flightCrew : CrewStatus | finalReport : MissionReport | |
| ExecuteOutboundJourney | 1 | launchReadySystem : VehicleStatus, crew : CrewStatus | vehicleInLunarOrbit : VehicleStatus | |
| PrepareForLaunch | 2 | assembledVehicle : VehicleStatus, crew : CrewStatus | launchReadyVehicle : VehicleStatus, readyCrew : CrewStatus | |
| PerformPropellantLoading | 3 | PrepareForLaunch | currentStatus : VehicleStatus | loadedStatus : VehicleStatus |
| PerformCrewIngress | 3 | PrepareForLaunch | isCrewAboard : Boolean | |
| LaunchToOrbit | 2 | launchReadyVehicle : VehicleStatus | vehicleInEarthOrbit : VehicleStatus | |
| ExecuteTerminalCountdown | 3 | LaunchToOrbit | goForLaunch : Boolean | |
| ProvideStage1Thrust | 3 | LaunchToOrbit | launchReadyStatus : VehicleStatus | stage1BurnoutStatus : VehicleStatus |
| ProvideStage2Thrust | 3 | LaunchToOrbit | stage1BurnoutStatus : VehicleStatus | stage2BurnoutStatus : VehicleStatus |
| ProvideOrbitInsertionThrust | 3 | LaunchToOrbit | stage2BurnoutStatus : VehicleStatus | orbitalStatus : VehicleStatus |
| GuideAscentTrajectory | 3 | LaunchToOrbit | ascentStatus : VehicleStatus | guidedStatus : VehicleStatus |
| ObserveAscentDataFromCockpit | 3 | LaunchToOrbit | ascentStatus : VehicleStatus | |
| AnalyzeLaunchTelemetryFromGround | 3 | LaunchToOrbit | ascentStatus : VehicleStatus | |
| SetTranslunarCourse | 2 | vehicleInEarthOrbit : VehicleStatus | vehicleOnTranslunarTrajectory : VehicleStatus | |
| ExecuteTranspositionManeuver | 3 | SetTranslunarCourse | currentStatus : VehicleStatus | maneuveringStatus : VehicleStatus |
| ProvideAttitudeControlThrust | 3 | SetTranslunarCourse | currentStatus : VehicleStatus | newAttitudeStatus : VehicleStatus |
| MechanicallyLatchModules | 3 | SetTranslunarCourse | currentStatus : VehicleStatus | dockedStatus : VehicleStatus |
| ProvideTranslunarInjectionThrust | 3 | SetTranslunarCourse | currentStatus : VehicleStatus | postBurnStatus : VehicleStatus |
| ControlTranslunarInjectionBurn | 3 | SetTranslunarCourse | currentStatus : VehicleStatus | |
| TraverseToMoon | 2 | vehicleOnTranslunarTrajectory : VehicleStatus | vehicleInLunarSphere : VehicleStatus | |
| CalculateCourseCorrection | 3 | TraverseToMoon | currentStatus : VehicleStatus | burnPlan : VehicleStatus |
| ExecuteCourseCorrectionBurn | 3 | TraverseToMoon | burnPlan : VehicleStatus | correctedStatus : VehicleStatus |
| MonitorOnboardSystems | 3 | TraverseToMoon, TraverseToEarth | currentStatus : VehicleStatus | |
| MonitorDownlinkedTelemetry | 3 | TraverseToMoon, TraverseToEarth | currentStatus : VehicleStatus | |
| TransmitAndReceiveSpacecraftSignals | 3 | TraverseToMoon, TraverseToEarth | currentStatus : VehicleStatus | |
| TrackAndRelayGroundSignals | 3 | TraverseToMoon, TraverseToEarth | ||
| ManageCrewSchedules | 3 | TraverseToMoon | currentStatus : CrewStatus | restedStatus : CrewStatus |
| AchieveLunarOrbit | 2 | vehicleInLunarSphere : VehicleStatus | vehicleInStableLunarOrbit : VehicleStatus | |
| ProvideLunarOrbitInsertionThrust | 3 | AchieveLunarOrbit | currentStatus : VehicleStatus | postBurnStatus : VehicleStatus |
| ControlLunarOrbitInsertionBurn | 3 | AchieveLunarOrbit | currentStatus : VehicleStatus | finalStatus : VehicleStatus |
| ConductLunarOperations | 1 | vehicleInLunarOrbit : VehicleStatus | returnReadyVehicle : VehicleStatus, samples : LunarSamples, science : ScientificData | |
| PrepareForLanding | 2 | combinedVehicle : VehicleStatus | separatedLander : VehicleStatus, separatedOrbiter : VehicleStatus | |
| PerformOrbitalSystemCheckouts | 3 | PrepareForLanding | currentStatus : VehicleStatus | checkedVehicle : VehicleStatus |
| PrepareLanderForSeparation | 3 | PrepareForLanding | currentStatus : VehicleStatus | preppedVehicle : VehicleStatus |
| SeparateLanderFromOrbiter | 3 | PrepareForLanding | currentStatus : VehicleStatus | lander : VehicleStatus, orbiter : VehicleStatus |
| LandOnSurface | 2 | landingVehicle : VehicleStatus | vehicleOnSurface : VehicleStatus | |
| ExecuteDescentBurn | 3 | LandOnSurface | currentStatus : VehicleStatus | descentStatus : VehicleStatus |
| MonitorDescent | 3 | LandOnSurface | currentStatus : VehicleStatus | monitoredStatus : VehicleStatus |
| ManuallyPilotLander | 3 | LandOnSurface | currentStatus : VehicleStatus | pilotedStatus : VehicleStatus |
| ExploreLunarSurface | 2 | vehicleOnSurface : VehicleStatus | collectedSamples : LunarSamples, deployedScience : ScientificData | |
| PerformPostLandingCheck | 3 | ExploreLunarSurface | currentStatus : VehicleStatus | |
| PrepareForExtravehicularActivity | 3 | ExploreLunarSurface | currentStatus : VehicleStatus | |
| ProvideIndividualLifesupport | 3 | ExploreLunarSurface | ||
| ConductSurfaceExploration | 3 | ExploreLunarSurface | currentStatus : VehicleStatus | |
| GatherLunarSamples | 3 | ExploreLunarSurface | samples : LunarSamples | |
| DeploySurfaceExperiments | 3 | ExploreLunarSurface | scienceData : ScientificData | |
| CompleteExtravehicularActivity | 3 | ExploreLunarSurface | currentStatus : VehicleStatus | |
| ConductSurfaceRestPeriod | 3 | ExploreLunarSurface | ||
| ReturnToOrbitAndDock | 2 | ascentVehicleOnSurface : VehicleStatus, mainVehicleInOrbit : VehicleStatus, samplesToTransfer : LunarSamples | mainVehicleWithCrew : VehicleStatus | |
| ExecuteAscentBurn | 3 | ReturnToOrbitAndDock | currentStatus : VehicleStatus | ascentVehicle : VehicleStatus |
| CalculateRendezvousManeuvers | 3 | ReturnToOrbitAndDock | currentStatus : VehicleStatus | rendezvousPlan : VehicleStatus |
| ExecuteRendezvousBurns | 3 | ReturnToOrbitAndDock | rendezvousPlan : VehicleStatus | proximalVehicle : VehicleStatus |
| ConnectSpacecraft | 3 | ReturnToOrbitAndDock | currentStatus : VehicleStatus | dockedVehicle : VehicleStatus |
| TransferCrewAndMaterials | 3 | ReturnToOrbitAndDock | currentStatus : VehicleStatus, samples : LunarSamples | postTransferVehicle : VehicleStatus |
| DiscardAscentStage | 3 | ReturnToOrbitAndDock | currentStatus : VehicleStatus | finalVehicle : VehicleStatus |
| ExecuteReturnJourney | 1 | returnReadyVehicle : VehicleStatus, samples : LunarSamples | recoveredCrew : CrewStatus, recoveredSamples : LunarSamples | |
| SetTransearthCourse | 2 | mainVehicleInLunarOrbit : VehicleStatus | vehicleOnTransearthTrajectory : VehicleStatus | |
| ExecuteTransearthBurn | 3 | SetTransearthCourse | currentStatus : VehicleStatus | finalStatus : VehicleStatus |
| TraverseToEarth | 2 | vehicleOnTransearthTrajectory : VehicleStatus | reentryReadyVehicle : VehicleStatus | |
| PrepareVehicleForReentry | 3 | TraverseToEarth | currentStatus : VehicleStatus | finalStatus : VehicleStatus |
| ReenterAndLand | 2 | reentryReadyVehicle : VehicleStatus | landedVehicle : VehicleStatus | |
| SeparateReturnCapsule | 3 | ReenterAndLand | currentStatus : VehicleStatus | capsule : VehicleStatus |
| GuideAtmosphericEntry | 3 | ReenterAndLand | currentStatus : VehicleStatus | reentryStatus : VehicleStatus |
| DeployDecelerators | 3 | ReenterAndLand | currentStatus : VehicleStatus | descentStatus : VehicleStatus |
| PerformSplashdown | 3 | ReenterAndLand | currentStatus : VehicleStatus | finalStatus : VehicleStatus |
| RecoverCrewAndAssets | 2 | landedVehicle : VehicleStatus, samplesOnboard : LunarSamples | securedCrew : CrewStatus, securedSamples : LunarSamples | |
| RetrieveVehicleAndCrew | 3 | RecoverCrewAndAssets | currentStatus : VehicleStatus | recoveredCrew : CrewStatus, recoveredVehicle : VehicleStatus |
| ExecuteQuarantine | 3 | RecoverCrewAndAssets | crew : CrewStatus | |
| SecureReturnedSamples | 3 | RecoverCrewAndAssets | samples : LunarSamples | finalSamples : LunarSamples |
At the top of the breakdown the 3 journeys hand on from one to the next through parameters of the same name: ExecuteOutboundJourney passes vehicleInLunarOrbit to ConductLunarOperations; ConductLunarOperations passes returnReadyVehicle and samples to ExecuteReturnJourney.
%%{init: {"flowchart": {"wrappingWidth": 420}}}%%
flowchart LR
noutbound["<b>ExecuteOutboundJourney</b><br/><small>in launchReadySystem : VehicleStatus<br/>in crew : CrewStatus<br/>out vehicleInLunarOrbit : VehicleStatus</small>"]
nlunarOps["<b>ConductLunarOperations</b><br/><small>in vehicleInLunarOrbit : VehicleStatus<br/>out returnReadyVehicle : VehicleStatus<br/>out samples : LunarSamples<br/>out science : ScientificData</small>"]
nreturnJourney["<b>ExecuteReturnJourney</b><br/><small>in returnReadyVehicle : VehicleStatus<br/>in samples : LunarSamples<br/>out recoveredCrew : CrewStatus<br/>out recoveredSamples : LunarSamples</small>"]
noutbound -- "vehicleInLunarOrbit" --> nlunarOps
nlunarOps -- "returnReadyVehicle<br/>samples" --> nreturnJourneyVehicleStatusis the most common item: 59 of the 69 functions take or produce it, so most functions transform the vehicle's state step by step from the pad to splashdown.- 3 functions declare no parameters:
ConductSurfaceRestPeriod,ProvideIndividualLifesupport,TrackAndRelayGroundSignals. - Hand-offs are implied by matching parameter names only; the model declares no flows between functions.
Function-to-operation trace¶
Each leaf function refines one operation of the concept of operations (a
#refinement dependency); operations are performed during mission phases.Use it to confirm that every operation is realized by at least one function, and see which functions serve each mission phase.
- 39 of 39 operations are refined by at least one function.
- 52 of 52 leaf functions refine an operation.
PerformTranspositionDockingExtractionneeds the most functions (3).- Each phase function's leaves refine operations of the phase its documentation names, except
TraverseToEarth(documented forTransEarthCoastPhase), whose leaves also serveTransLunarCoastPhase;TraverseToMoon(documented forTransLunarCoastPhase), whose leaves also serveTransEarthCoastPhase: the leaves are shared, so they refine operations of each phase that uses them.
Logical architecture¶
The abstract components of the mission system, defined by their role rather than their physical form, with the number of leaf functions each performs.
Use it to see who is responsible for what before any hardware is chosen.
| Component | Functions performed | CoSMA logical component | Description |
|---|---|---|---|
| Spacecraft | 18 | yes | This system comprises the vehicles that travel to, operate at, and return from the Moon. It handles all functions related to in-space travel, life support, landing, and returning through Earth's atmosphere. |
| Crew | 17 | yes | This system represents the human operators who pilot the spacecraft, conduct experiments, and make real-time decisions. |
| GroundSupportSystem | 9 | yes | This system is the Earth-based infrastructure and personnel that manage, control, and support the mission from start to finish. |
| LaunchSystem | 6 | yes | This system's sole purpose is to propel the payload from Earth's surface onto a precise path to the Moon. It is responsible for all functions related to ascent and injection into a translunar trajectory. |
| DataTransmissionNetwork | 1 | no | The system to relay and transmit data between the SoS elements. |
| EVASystem | 1 | yes | This system consists of the personal equipment required for an astronaut to live and work in the vacuum of space on the lunar surface. |
Leaf functions (rows, in breakdown order, with their phase function) against the logical component that performs them (a
perform in the component).Use it to check that every function has exactly one owner and see each component's share of the mission.
- Leaf functions performed by no component: none.
- Functions performed by several components: none.
Leaf function usages per component and journey:
| Component | ExecuteOutboundJourney | ConductLunarOperations | ExecuteReturnJourney |
|---|---|---|---|
| Spacecraft | 7 | 6 | 6 |
| Crew | 4 | 12 | 2 |
| GroundSupportSystem | 5 | 1 | 4 |
| LaunchSystem | 6 | 0 | 0 |
| DataTransmissionNetwork | 1 | 0 | 1 |
| EVASystem | 0 | 1 | 0 |
Logical-to-physical realization¶
The technical components and mission-context elements that specialize each logical component, and so inherit its functions.
Use it to trace a function to the hardware or ground facility that carries it out.
%%{init: {"flowchart": {"wrappingWidth": 420}}}%%
flowchart LR
subgraph nContextPackage["Context"]
nr_MannedSpaceFlightNetwork["MannedSpaceFlightNetwork"]
nr_LaunchSite["LaunchSite"]
nr_MissionControl["MissionControl"]
nr_RecoveryForces["RecoveryForces"]
nr_LaunchControlCenter["LaunchControlCenter"]
nr_CrawlerTransporter["CrawlerTransporter"]
nr_VehicleAssemblyBuilding["VehicleAssemblyBuilding"]
end
subgraph nTechnicalComponentsPackage["TechnicalComponents"]
nr_ExtravehicularMobilityUnit["ExtravehicularMobilityUnit"]
nr_SaturnV["SaturnV"]
nr_ApolloSpacecraft["ApolloSpacecraft"]
end
subgraph logical["Logical components"]
nc_Spacecraft["Spacecraft · 18 functions"]
nc_Crew["Crew · 17 functions"]
nc_GroundSupportSystem["GroundSupportSystem · 9 functions"]
nc_LaunchSystem["LaunchSystem · 6 functions"]
nc_DataTransmissionNetwork["DataTransmissionNetwork · 1 function"]
nc_EVASystem["EVASystem · 1 function"]
end
nr_ExtravehicularMobilityUnit --> nc_EVASystem
nr_MannedSpaceFlightNetwork --> nc_DataTransmissionNetwork
nr_SaturnV --> nc_LaunchSystem
nr_LaunchSite --> nc_GroundSupportSystem
nr_MissionControl --> nc_GroundSupportSystem
nr_RecoveryForces --> nc_GroundSupportSystem
nr_LaunchControlCenter --> nc_GroundSupportSystem
nr_CrawlerTransporter --> nc_GroundSupportSystem
nr_VehicleAssemblyBuilding --> nc_GroundSupportSystem
nr_ApolloSpacecraft --> nc_Spacecraft| Realized by | Logical component | Functions | Functional requirements inherited |
|---|---|---|---|
| MannedSpaceFlightNetwork | DataTransmissionNetwork | 1 | 4 |
| ExtravehicularMobilityUnit | EVASystem | 1 | 0 |
| CrawlerTransporter | GroundSupportSystem | 9 | 21 |
| LaunchControlCenter | GroundSupportSystem | 9 | 21 |
| LaunchSite | GroundSupportSystem | 9 | 21 |
| MissionControl | GroundSupportSystem | 9 | 21 |
| RecoveryForces | GroundSupportSystem | 9 | 21 |
| VehicleAssemblyBuilding | GroundSupportSystem | 9 | 21 |
| SaturnV | LaunchSystem | 6 | 12 |
| ApolloSpacecraft | Spacecraft | 18 | 35 |
Logical components with no realizing definition: Crew (Apollo11Mission::crew is typed by Astronaut and Crew).
Demands on the hardware¶
For each physical system (flight hardware and the ground and context systems), the logical component it realizes, the leaf functions it therefore performs, and the operations and mission phases those functions serve. Derived by joining realization,
perform and #refinement; the model states no direct link.Use it to see what the operations ask of each piece of hardware, and find functions that no hardware carries out.
| Component | Kind | Logical component | Functions | Operations | Phases |
|---|---|---|---|---|---|
| ApolloSpacecraft | flight hardware | Spacecraft | 18 | 14 | 9 |
| ExtravehicularMobilityUnit | flight hardware | EVASystem | 1 | 1 | 1 |
| SaturnV | flight hardware | LaunchSystem | 6 | 3 | 2 |
| CrawlerTransporter | ground / context | GroundSupportSystem | 9 | 9 | 6 |
| LaunchControlCenter | ground / context | GroundSupportSystem | 9 | 9 | 6 |
| LaunchSite | ground / context | GroundSupportSystem | 9 | 9 | 6 |
| MannedSpaceFlightNetwork | ground / context | DataTransmissionNetwork | 1 | 1 | 2 |
| MissionControl | ground / context | GroundSupportSystem | 9 | 9 | 6 |
| RecoveryForces | ground / context | GroundSupportSystem | 9 | 9 | 6 |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | 9 | 9 | 6 |
| Component | Kind | Logical component | Function | Operations served | Phases |
|---|---|---|---|---|---|
| ApolloSpacecraft | flight hardware | Spacecraft | ProvideAttitudeControlThrust | PerformTranspositionDockingExtraction | TransLunarInjectionPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | MechanicallyLatchModules | PerformTranspositionDockingExtraction | TransLunarInjectionPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | CalculateCourseCorrection | ConductMidCourseCorrections | TransLunarCoastPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | ExecuteCourseCorrectionBurn | ConductMidCourseCorrections | TransLunarCoastPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | TransmitAndReceiveSpacecraftSignals | CommunicateWithMissionControl | TransLunarCoastPhase, TransEarthCoastPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | ProvideLunarOrbitInsertionThrust | ExecuteLOIBurn | LunarOrbitInsertionPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | ControlLunarOrbitInsertionBurn | ExecuteLOIBurn | LunarOrbitInsertionPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | SeparateLanderFromOrbiter | PerformLMUndocking | LunarOrbitOperationsDescentPreparationPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | ExecuteDescentBurn | ExecutePoweredDescentBurn | PoweredDescentPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | ExecuteAscentBurn | ExecuteLunarAscentBurn | LunarAscentRendezvousPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | CalculateRendezvousManeuvers | PerformRendezvousManeuvers | LunarAscentRendezvousPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | ExecuteRendezvousBurns | PerformRendezvousManeuvers | LunarAscentRendezvousPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | DiscardAscentStage | JettisonLM | LunarAscentRendezvousPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | ExecuteTransearthBurn | ExecuteTEIBurn | TransEarthInjectionPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | SeparateReturnCapsule | SeparateModules | ReentryLandingPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | GuideAtmosphericEntry | GuideReentryTrajectory | ReentryLandingPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | DeployDecelerators | DeployParachutes | ReentryLandingPhase |
| ApolloSpacecraft | flight hardware | Spacecraft | PerformSplashdown | ConductSplashdownOperations | ReentryLandingPhase |
| ExtravehicularMobilityUnit | flight hardware | EVASystem | ProvideIndividualLifesupport | PerformLunarEVA | LunarSurfaceOperationsPhase |
| SaturnV | flight hardware | LaunchSystem | ProvideStage1Thrust | ExecuteLaunchSequence | LaunchPhase |
| SaturnV | flight hardware | LaunchSystem | ProvideStage2Thrust | ExecuteLaunchSequence | LaunchPhase |
| SaturnV | flight hardware | LaunchSystem | ProvideOrbitInsertionThrust | ExecuteLaunchSequence | LaunchPhase |
| SaturnV | flight hardware | LaunchSystem | GuideAscentTrajectory | MonitorAscentTrajectory | LaunchPhase |
| SaturnV | flight hardware | LaunchSystem | ProvideTranslunarInjectionThrust | ExecuteTLIBurn | TransLunarInjectionPhase |
| SaturnV | flight hardware | LaunchSystem | ControlTranslunarInjectionBurn | ExecuteTLIBurn | TransLunarInjectionPhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | PerformPropellantLoading | LoadConsumablesAndPropellants | PrepareForMissionPhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | PerformCrewIngress | TransferCrewToVehicle | PrepareForMissionPhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | ExecuteTerminalCountdown | PerformPreLaunchCountdown | LaunchPhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | AnalyzeLaunchTelemetryFromGround | MonitorAscentTrajectory | LaunchPhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | MonitorDownlinkedTelemetry | MonitorSpacecraftSystems | TransLunarCoastPhase, TransEarthCoastPhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | MonitorDescent | MonitorDescentTelemetry | PoweredDescentPhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | RetrieveVehicleAndCrew | RetrieveCrewAndCM | RecoveryQuarantinePhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | ExecuteQuarantine | InitiateQuarantineProcedures | RecoveryQuarantinePhase |
| CrawlerTransporter | ground / context | GroundSupportSystem | SecureReturnedSamples | SecureLunarSamples | RecoveryQuarantinePhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | PerformPropellantLoading | LoadConsumablesAndPropellants | PrepareForMissionPhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | PerformCrewIngress | TransferCrewToVehicle | PrepareForMissionPhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | ExecuteTerminalCountdown | PerformPreLaunchCountdown | LaunchPhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | AnalyzeLaunchTelemetryFromGround | MonitorAscentTrajectory | LaunchPhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | MonitorDownlinkedTelemetry | MonitorSpacecraftSystems | TransLunarCoastPhase, TransEarthCoastPhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | MonitorDescent | MonitorDescentTelemetry | PoweredDescentPhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | RetrieveVehicleAndCrew | RetrieveCrewAndCM | RecoveryQuarantinePhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | ExecuteQuarantine | InitiateQuarantineProcedures | RecoveryQuarantinePhase |
| LaunchControlCenter | ground / context | GroundSupportSystem | SecureReturnedSamples | SecureLunarSamples | RecoveryQuarantinePhase |
| LaunchSite | ground / context | GroundSupportSystem | PerformPropellantLoading | LoadConsumablesAndPropellants | PrepareForMissionPhase |
| LaunchSite | ground / context | GroundSupportSystem | PerformCrewIngress | TransferCrewToVehicle | PrepareForMissionPhase |
| LaunchSite | ground / context | GroundSupportSystem | ExecuteTerminalCountdown | PerformPreLaunchCountdown | LaunchPhase |
| LaunchSite | ground / context | GroundSupportSystem | AnalyzeLaunchTelemetryFromGround | MonitorAscentTrajectory | LaunchPhase |
| LaunchSite | ground / context | GroundSupportSystem | MonitorDownlinkedTelemetry | MonitorSpacecraftSystems | TransLunarCoastPhase, TransEarthCoastPhase |
| LaunchSite | ground / context | GroundSupportSystem | MonitorDescent | MonitorDescentTelemetry | PoweredDescentPhase |
| LaunchSite | ground / context | GroundSupportSystem | RetrieveVehicleAndCrew | RetrieveCrewAndCM | RecoveryQuarantinePhase |
| LaunchSite | ground / context | GroundSupportSystem | ExecuteQuarantine | InitiateQuarantineProcedures | RecoveryQuarantinePhase |
| LaunchSite | ground / context | GroundSupportSystem | SecureReturnedSamples | SecureLunarSamples | RecoveryQuarantinePhase |
| MannedSpaceFlightNetwork | ground / context | DataTransmissionNetwork | TrackAndRelayGroundSignals | CommunicateWithMissionControl | TransLunarCoastPhase, TransEarthCoastPhase |
| MissionControl | ground / context | GroundSupportSystem | PerformPropellantLoading | LoadConsumablesAndPropellants | PrepareForMissionPhase |
| MissionControl | ground / context | GroundSupportSystem | PerformCrewIngress | TransferCrewToVehicle | PrepareForMissionPhase |
| MissionControl | ground / context | GroundSupportSystem | ExecuteTerminalCountdown | PerformPreLaunchCountdown | LaunchPhase |
| MissionControl | ground / context | GroundSupportSystem | AnalyzeLaunchTelemetryFromGround | MonitorAscentTrajectory | LaunchPhase |
| MissionControl | ground / context | GroundSupportSystem | MonitorDownlinkedTelemetry | MonitorSpacecraftSystems | TransLunarCoastPhase, TransEarthCoastPhase |
| MissionControl | ground / context | GroundSupportSystem | MonitorDescent | MonitorDescentTelemetry | PoweredDescentPhase |
| MissionControl | ground / context | GroundSupportSystem | RetrieveVehicleAndCrew | RetrieveCrewAndCM | RecoveryQuarantinePhase |
| MissionControl | ground / context | GroundSupportSystem | ExecuteQuarantine | InitiateQuarantineProcedures | RecoveryQuarantinePhase |
| MissionControl | ground / context | GroundSupportSystem | SecureReturnedSamples | SecureLunarSamples | RecoveryQuarantinePhase |
| RecoveryForces | ground / context | GroundSupportSystem | PerformPropellantLoading | LoadConsumablesAndPropellants | PrepareForMissionPhase |
| RecoveryForces | ground / context | GroundSupportSystem | PerformCrewIngress | TransferCrewToVehicle | PrepareForMissionPhase |
| RecoveryForces | ground / context | GroundSupportSystem | ExecuteTerminalCountdown | PerformPreLaunchCountdown | LaunchPhase |
| RecoveryForces | ground / context | GroundSupportSystem | AnalyzeLaunchTelemetryFromGround | MonitorAscentTrajectory | LaunchPhase |
| RecoveryForces | ground / context | GroundSupportSystem | MonitorDownlinkedTelemetry | MonitorSpacecraftSystems | TransLunarCoastPhase, TransEarthCoastPhase |
| RecoveryForces | ground / context | GroundSupportSystem | MonitorDescent | MonitorDescentTelemetry | PoweredDescentPhase |
| RecoveryForces | ground / context | GroundSupportSystem | RetrieveVehicleAndCrew | RetrieveCrewAndCM | RecoveryQuarantinePhase |
| RecoveryForces | ground / context | GroundSupportSystem | ExecuteQuarantine | InitiateQuarantineProcedures | RecoveryQuarantinePhase |
| RecoveryForces | ground / context | GroundSupportSystem | SecureReturnedSamples | SecureLunarSamples | RecoveryQuarantinePhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | PerformPropellantLoading | LoadConsumablesAndPropellants | PrepareForMissionPhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | PerformCrewIngress | TransferCrewToVehicle | PrepareForMissionPhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | ExecuteTerminalCountdown | PerformPreLaunchCountdown | LaunchPhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | AnalyzeLaunchTelemetryFromGround | MonitorAscentTrajectory | LaunchPhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | MonitorDownlinkedTelemetry | MonitorSpacecraftSystems | TransLunarCoastPhase, TransEarthCoastPhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | MonitorDescent | MonitorDescentTelemetry | PoweredDescentPhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | RetrieveVehicleAndCrew | RetrieveCrewAndCM | RecoveryQuarantinePhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | ExecuteQuarantine | InitiateQuarantineProcedures | RecoveryQuarantinePhase |
| VehicleAssemblyBuilding | ground / context | GroundSupportSystem | SecureReturnedSamples | SecureLunarSamples | RecoveryQuarantinePhase |
- 35 of 52 leaf functions reach a physical system.
- Performed only by a logical component that no hardware or ground system realizes:
ObserveAscentDataFromCockpit(Crew),ExecuteTranspositionManeuver(Crew),MonitorOnboardSystems(Crew),ManageCrewSchedules(Crew),PerformOrbitalSystemCheckouts(Crew),PrepareLanderForSeparation(Crew),ManuallyPilotLander(Crew),PerformPostLandingCheck(Crew),PrepareForExtravehicularActivity(Crew),ConductSurfaceExploration(Crew),GatherLunarSamples(Crew),DeploySurfaceExperiments(Crew),CompleteExtravehicularActivity(Crew),ConductSurfaceRestPeriod(Crew),ConnectSpacecraft(Crew),TransferCrewAndMaterials(Crew),PrepareVehicleForReentry(Crew).Crewhas no realizing design:Apollo11Mission::crewis typed byAstronautandCrew. - Performed by no component at all: none.
- 6 systems specialize
GroundSupportSystemand so each inherits all 9 of its functions (CrawlerTransporter,LaunchControlCenter,LaunchSite,MissionControl,RecoveryForces,VehicleAssemblyBuilding): the model does not say which of them performs which function, so this view over-assigns them.
Model issues on this page¶
DataTransmissionNetworkdoes not specialize CoSMA'sLogicalComponent, so queries by type miss it.Spacecraftis described by a plain comment instead of adoccomment.- The return coast reuses 4 outbound coast functions, but the functional requirements are attached only to the outbound usages:
MonitorOnboardSystems,MonitorDownlinkedTelemetry,TransmitAndReceiveSpacecraftSignals,TrackAndRelayGroundSignals. ProvideIndividualLifesupportsatisfies no functional requirement.- No order or flow is modeled between sub-functions (0 successions or connectors in
FunctionsPackage); sequencing exists only in the phases' operation sequences (54 successions).