In the context of blockchains what is known as a ‘smart contract’ is not a self-executable program but a collection of functions which need to be called by a decentralized app / Dapp in order to provide any type of functionality.
To find what a Dapp really is and how does it call blockchains, including smart contract functions please check this article -
What a Dapp really is