Protocol State Machines (PSM) in UML 2.0 [13] describe valid sequences of operation calls. To support modeling components, UML 2.0 introduces a Port associated with a set of provided and required interfaces. Unfortunately, a PSM is applicable only to a single interface, either a provided or required one; moreover, nested calls cannot be modeled with a PSM. Furthermore, the definition of protocol conformance is rather fuzzy and reasoning on this relation is not possible in general; thus reasoning on consistency in component composition is not possible with PSMs. Behavior Protocols [17] capture the behavior of a component via a set of traces. A textual notation similar to regular expressions is provided to approximate the behavior with a regular language. In [1,17], the compliance relation and consent operator are defined to reason on consistency of component composition; a verifier tool [18] is available for the compliance relation. In this paper, we propose the Port State Machine (PoSM) to model the communication on a Port. Building on our experience with behavior protocols, we model an operation call as two atomic events request and response, permitting PoSM to capture the interleaving and nesting of operation calls on provided and required interfaces of the Port. The trace semantics of PoSM yields a regular language. We apply the compliance relation of behavior protocols to PoSMs, allowing us to reason on behavior compliance of components in software architectures; the existing verifier tool can be applied to PoSMs.