In Scala/Akka, you could use the ask operator and compose the resulting Futures, something like this:
for {
a <- aProviderActor ? gimmeA
b <- bProviderActor ? gimmeB
aPlusB <- adderActor ? (add, a, b)
} yield aPlusB