Assuring components compatibility plays a crucial part in developing a reliable component system. Especially, when the components come from different vendors worldwide.
In order to do so, an appropriate formalism for behavior specification of components is necessary. We propose a formalism of threaded behavior protocols, which?unlike most other formalisms?allows for both analysis on the formal level (correctness and substitutability checking) and reasoning about conformance of a specification and the actual implementation.
Moreover, the formalism is designed to be simple enough and to directly support constructs known from implementation languages (e.g., method calls, threads, synchronized blocks), so that it is easy to use by a nonprofessional.