This paper explores ways by which inheritance can be defined for and used in specification languages, especially ADLs and CDLs that are now widely used in software engineering for specifying software architectures and components.