A type of computer programming in which a program executes commands only as a reaction to messages sent to it.