행위자 모델 또는 액터 모델(actor model)은 컴퓨터 과학에서 행위자를 병행 연산의 범용적 기본 단위로 취급하는 병행 컴퓨팅의 수학적 모델이다. 행위자가 받는 메시지에 대응하여, 행위자는 자체적인 결정을 하고 더 많은 행위자를 만들며, 더 많은 메시지를 보내고, 다음에 받을 메시지에 대한 응답 행위를 결정할 수 있다. 행위자는 개인 상태를 수정할 수 있지만, 메시지를 통해서만 서로에게 영향을 줄 수 있다. (락의 필요성을 제거함)
행위자 모델은 1973년에 기원하였다. 연산에 대한 이론적 이해를 위한 프레임워크로서, 또 병행 시스템의 현실적인 구현체를 위한 이론적인 기초로서 사용되고 있다.
역사
기본 개념
행위자 모델은 모든 것이 행위자라는 철학을 채택한다. 이는 일부 객체 지향 프로그래밍 언어에서 사용된 "모든 것이 객체"라는 철학과 비슷하다.
행위자는 받은 메시지에 대해 응하는 연산의 실체로서 다음을 병행 처리할 수 있다:
- 유한한 수의 메시지를 다른 행위자에게 보낸다.
- 유한한 수의 새로운 행위자를 만든다.
- 앞으로 받을 다음 메시지에 사용할 행위를 지정한다.