The Interface Definition Languages (IDLs) used by commercial middleware standards such as CORBA primarily address the signature aspects of software component interfaces. They do not cover important semantic aspects, e.g. the correct way in which component services are to be used. This often poses significant problems for designing component-based systems, especially where third-party components are used. In this report, we propose a formal but user-friendly language, called the Protocol-Equipped IDL (PEIDL), for the interface specification of components. This language augments commercial IDLs with capabilities of precisely describing component interaction protocols. It employs unambiguous temporal operators to capture sequencing and concurrency constraints between component operation invocations. Accordingly, it enables the precise specification of the interoperability requirements of components as well as the automated inter-component interoperability checking in a composite system.