There are several ways to do this, but the best I have found is to use a curve object, procedure is as follows:
Add a curve object with its origin at the fixed end of the hose, then parent this to the bone that the fixed mesh is parented to. you should have at least three vertices.
Create a curve circle of the required radius of the hose, go to the Curve panel of the curve profile and set this circle as the “Bevel Object” - this gives the profile its solidity. For ease of use create this object in Top view.
In EDIT mode for the curve profile, add a Hook modifier to the curve, select the end vertex closest to the cylinder or moving end of the hose and click the “Assign” button on the hook modifier. Set the target object for the Hook modifier as the bone that the cylinder is parented to.
Now when you move the cylinder, the end closest to the cylinder moves with the cylinder.
To refine the system, you can add a second Hook modifier to the curve profile with the next closest vertex to the moving end as the assigned vertex, use the same target bone object, but set the “Strength” to 0.5 - this way the selected vertex only moves half as much as the end vertex.
To further refine the system, add more Hooks and play with the strengths.
Here’s a Blend file with a simple setup to help you:
hose.blend (451 KB)
Just move the “operator” bone.
Here’s a slightly more complex model, just press Play to see it working:
hose-1.blend (460 KB)
Thank you very very much.