For my thesis I seek to implement a programming framework which can be used to model and solve plan recognition problems. My primary goal for this system is for it to be able to easily handle continuous probability spaces as well as discrete ones. My framework is based primarily on the probabilistic situation calculus developed by Belle and Levesque, and is an extension of a programming language developed by Levesque called Ergo. The system I have built allows one to specify complex domains and dynamic models at a high-level and is written in a language which is user-friendly and easy to understand. It has strong formal foundations, can be used to compare multiple different plan recognition methods, and makes it easier to perform plan recognition in tandem with other forms of reasoning, such as threat assessment, reasoning about action, and planning to respond to the actions performed by the observed agent