Behavior tree explanations

Hey guys , hope you’re fine !
I actually need some clear explanations about behavior trees : after reading the documentation , and checking some trees i still don’t know what is the difference between tasks decorators and services , and what is backboard ? ( it’s for storing values , but on projects it is use as function like " HasBeenHit " for example ).

Can someone explains it to me please because at the moment for me it is :

task : a function that is a tree’s leaf
decorator : a function that is a tree’s node
service : a recursive function that is a tree’s leaf
blackboard : an “array” of values , but also a function

ps: i’m c++ programmer

I’ve replied to one of your post haha!