mcdp{
# We implent XYZ by having a XY mechanism to which we attach a prismatic joint
implements`XYZInterfaceXY=instance`XY_concreteworkspaceprovidedbyXY≽providedworkspaceprecisionprovidedbyXY≽providedprecisionvelocityprovidedbyXY≽providedvelocityaccelerationprovidedbyXY≽providedaccelerationforceprovidedbyXY≽providedforceZ=instance`Jointpayload_massprovidedbyZ≽providedpayload_massvelocityprovidedbyZ≽providedvelocityaccelerationprovidedbyZ≽providedaccelerationprecisionprovidedbyZ≽providedprecisionforceprovidedbyZ≽providedforceworkspaceprovidedbyZ≽providedworkspace
# Now XY must carry both Z and the payload
total_payload_mass=massrequiredbyZ+providedpayload_masspayload_massprovidedbyXY≽total_payload_massrequiredelectric_power≽∑electric_powerrequiredby*requiredmass≽∑massrequiredby*requiredbudget≽∑budgetrequiredby*}